Java中的算术运算符(初学者问题)

我知道数组运算符具有优先权。然后是二元算术运算符*,/,%。然后+和-优先级较低。

但是我很困惑在这个示例中哪个人会首先解决Java。并且如果我们有2个具有相同优先级的运算符,那么Java中将首先使用哪个运算符?

谢谢。

int x = y = -2 + 5 * 7 - 7 / 2 % 5;

如果有人可以为我解决这个问题并向我部分解释。因为这总是使我困惑于考试。

回答:

如果运算符具有相同的优先级,则从左到右对其进行求值。

从教程:

当相同优先级的运算符出现在同一表达式中时,必须控制一个规则,然后首先评估哪个规则。除赋值运算符外,所有二进制运算符均从左至右求值;赋值运算符从右到左求值。

在表达7 / 2 % 5时,/%具有相同的优先级,所以从左到右7 / 2 = 33 % 5 = 3

最高优先级赋予* /%。这是您的示例的细分:

  -2 + 5 * 7 - 7 / 2 % 5

= -2 + (5 * 7) - (7 / 2 % 5)

= -2 + 35 - (3 % 5)

= -2 + 35 - 3

= 30

以上是 Java中的算术运算符(初学者问题) 的全部内容, 来源链接: utcz.com/qa/419301.html

回到顶部