为什么这个Java分区打印为零?
我有以下代码行:为什么这个Java分区打印为零?,java,Java,我有以下代码行: System.out.println(5/9); 我希望看到结果是0.555,但它打印出的却是0。有人能帮我理解为什么会这样吗?我目前正在学习编程,非常感谢您的帮助 谢谢 Integer除以Integer返回Integer 你喜欢这样吗 System.out.println(5.0/9); 这是整数除法,因为两个操作数都是整数类型。整数除法给出一个通过截断得到的整数结果。在Java中运行整数除法(整数/整数)时,将计算该数字,然后将其向下舍入为while数字。因此,5/9的
System.out.println(5/9);
我希望看到结果是0.555,但它打印出的却是0。有人能帮我理解为什么会这样吗?我目前正在学习编程,非常感谢您的帮助
谢谢
Integer
除以Integer
返回Integer
你喜欢这样吗
System.out.println(5.0/9);
这是整数除法,因为两个操作数都是整数类型。整数除法给出一个通过截断得到的整数结果。在Java中运行整数除法(整数/整数)时,将计算该数字,然后将其向下舍入为while数字。因此,5/9的计算值为0.55555,然后四舍五入为0。您尝试将5除以9。两者都是整数。因此答案也是整数。因此,返回0作为答案。因此,请尝试像
System.out.println(5.0/9)对浮点变量进行编码>或赋值,然后执行该操作发生这种情况是因为您在不知不觉中所做的是整数除法。
为了加快计算速度,当不涉及十进制数时,计算机使用整数除法,从而丢失十进制值
试试这个:
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);