繁体   English   中英

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

[英]Order of operations with multiplication, subtraction, and division in 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);
  }
}

因为5/2是2而不是2.5。 5和2是整数,并且/运算符生成int。

整数除法会截断任何小数位。 您可能期望5/2 * 4等于10,但实际上是8。

可以通过这样写数字来解决: double x = 5.0*4.0/2.0 - 5.0/2.0*4.0;

简单地将结果存储为double并不强制实际算术将值视为double。

您正在使用整数。 所以5/2 5/2*4等于8。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM