首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >了解Java中的类型转换

了解Java中的类型转换
EN

Stack Overflow用户
提问于 2011-07-04 19:32:46
回答 6查看 412关注 0票数 4

这是我在这里的第一篇文章,我想感谢所有能帮助我回答这个简单问题的人: java中的造型是如何工作的?

我做了一个非常简单的类:

代码语言:javascript
运行
复制
public class test {
    public static void main ( String[] args )
    {
        System.out.println((short)(1/3));
        System.out.println((int)(1/3));
        System.out.println((float)(1/3));
        System.out.println((double)(1/3));
    }
}

这段软件在执行时会给出以下输出( 32位机器上的官方JDK6 u26 )

代码语言:javascript
运行
复制
0
0
0.0
0.0

问题是,或者说我不理解的是,最后两个结果是0.3333333,我希望是0.3333333,但显然强制转换是以另一种方式工作的:如何?

谢谢

另外,我对英语不是很熟悉,如果我犯了一些错误,我为此道歉

EN

Stack Overflow用户

发布于 2011-07-04 19:36:53

整型转换为双精度型。

(1/3)的类型为int,因此答案将为0。

现在0被强制转换为双精度或浮点数,因此它变成了0.0

票数 1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6570884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档