为什么这个Java部门打印出零?

时间:2014-02-22 06:28:55

标签: java

我有以下代码行:

System.out.println(5/9);

我希望结果看到0.555,但它打印出零。有人能帮我理解为什么会这样吗?我目前正在学习编程并感谢他们的帮助。

谢谢!

5 个答案:

答案 0 :(得分:7)

这是因为您在不知不觉中所做的是整数分部。 为了快速进行计算,当没有涉及十进制数时,计算机使用整数除法,因此十进制值丢失。

试试这个:

System.out.println(5.0 / 9.0);

System.out.println(5.0 / 9);

System.out.println(5 / 9.0);

System.out.println((float) 5 / 9);

System.out.println(5 / (float) 9);

答案 1 :(得分:5)

你试图将5除以9.它们是整数。所以答案也是一个整数。所以将0作为答案返回。所以尝试像System.out.println(5.0/9);或者为浮点变量分配值并使用

答案 2 :(得分:3)

Integer除以Integer返回Integer

这样做

System.out.println(5.0/9);

答案 3 :(得分:2)

这是一个整数除法,因为两个操作数都是整数类型。整数除法给出通过截断获得的整数结果。

答案 4 :(得分:2)

在Java(整数/整数)中运行整数除法时,计算数字然后向下舍入到while数字。因此,5/9被评估为0.55555,然后向下舍入为0.