System.out.print(3+2+1-5+4%2-1/4+6);
输出:7
执行数学运算符的顺序如何工作? Java是否遵循代数PEMDAS或其他内容?
答案 0 :(得分:4)
是的,Java遵循标准的算术运算顺序。
但是,您可能期望得到与您所得到的不同的答案。这是因为使用 integer 算法计算值1/4
,因为1
和4
都是整数。整数运算中1/4
的结果为0。
要让编译器使用浮点来评估它,请使用类似1.0/4.0
的内容。在这之后,你应该得到6.75的浮点结果(这可能是你的预期)。
答案 1 :(得分:3)
Java将遵循优先顺序(操作顺序)
()
*
,/
,%
+
,-
这就是您解决此问题所需的全部内容,但还有更多here。
答案 2 :(得分:0)
是的,Java将遵循相同的操作顺序。唯一的变化是%,它遵循与乘法和除法相同的顺序。