Java中具有乘法,减法和除法的运算顺序?

时间:2018-10-03 13:33:23

标签: java

下面是代码,我想知道为什么它给出的输出是2.0而不是0.0

class Main {
  public static void main(String[] args) {
    double x = 5*4/2 - 5/2*4;
    System.out.println(x);
  }
}

3 个答案:

答案 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。