下面是代码,我想知道为什么它给出的输出是2.0
而不是0.0
?
class Main {
public static void main(String[] args) {
double x = 5*4/2 - 5/2*4;
System.out.println(x);
}
}
答案 0 :(得分:2)
因为5/2是2而不是2.5。 5和2是整数,/运算符生成整数。
答案 1 :(得分:1)
整数除法会截断任何小数位。您可能期望5/2 * 4等于10,但实际上是解析为8。
这可以通过输入如下数字来解决:
double x = 5.0*4.0/2.0 - 5.0/2.0*4.0;
仅将结果存储为double并不强制实际算术将值视为double。
答案 2 :(得分:0)
您正在使用整数。因此5/2*4
等于8。