[英]Addition, Subtraction, Multiplication, & Division with Fractions in Java (Homework)
[英]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.