这是我在这里的第一篇文章,我想感谢所有能帮助我回答这个简单问题的人: java中的造型是如何工作的?
我做了一个非常简单的类:
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 )
0
0
0.0
0.0问题是,或者说我不理解的是,最后两个结果是0.3333333,我希望是0.3333333,但显然强制转换是以另一种方式工作的:如何?
谢谢
另外,我对英语不是很熟悉,如果我犯了一些错误,我为此道歉
发布于 2011-07-04 19:36:53
整型转换为双精度型。
(1/3)的类型为int,因此答案将为0。
现在0被强制转换为双精度或浮点数,因此它变成了0.0
https://stackoverflow.com/questions/6570884
复制相似问题