Java 为什么System.out.println((5/2.0)*2)的输出是:;是5.0吗?

Java 为什么System.out.println((5/2.0)*2)的输出是:;是5.0吗?,java,Java,我认为5是一个整数,但是没有变量。我不知道为什么输出是双倍的。我已经在Netbeans中尝试过了。乘法和除法是从左到右进行的(不管怎样,在第一个操作的周围加上括号),如果将任何基本数字除以一个双精度数,就会得到一个双精度数 5/2.0将首先进行评估 所以,即使'5'是一个int,如果你做5/2.0,你会得到一个double(即2.5)。现在,在这一点上,您的代码已经在使用double 当你将2.5乘以2时,你会输出5.0,因为2.5是一个双精度的 因为5不是双精度,而2.0是双精度,所以结果是双

我认为5是一个整数,但是没有变量。我不知道为什么输出是双倍的。我已经在Netbeans中尝试过了。

乘法和除法是从左到右进行的(不管怎样,在第一个操作的周围加上括号),如果将任何基本数字除以一个双精度数,就会得到一个双精度数

5/2.0将首先进行评估

所以,即使'5'是一个int,如果你做5/2.0,你会得到一个double(即2.5)。现在,在这一点上,您的代码已经在使用double


当你将2.5乘以2时,你会输出5.0,因为2.5是一个双精度的

因为
5
不是双精度,而
2.0
是双精度,所以结果是双精度