System.out.println(90 + 9 - 10);
此代码按照BODMAS规则提供输出89。
但是当我尝试编译并运行下面的代码时
System.out.println(90 - 9 + 10);
显示91(不遵循BODMAS规则)而不是71.为什么?
答案 0 :(得分:3)
请记住+和 - 具有相同的优先级,因此它们从左到右进行评估(+和 - 都是左关联运算符)。所以,90 - 9 + 10 = 81 + 10 = 91。
答案 1 :(得分:0)
每个运算符优先级+
和-
具有相同的优先级优先级并获得评估left -> right
,因此表达式90 - 9 + 10
首先评估为90 -9
- &gt ;导致81
然后81+10 = 91
,这是您的结果。
如果您想要更改此序列,请使用()
(如
90 - (9 + 10)
这将导致71
原因导致()
下的19
下的表达式将首先进行评估,从而产生90 - 19
,然后{{1}}这就是您要寻找的内容。< / p>