我有一个简单的 Java 表达式,如下所示。基于Operator Precedence table,我希望这个表达式将返回除以零异常(因为后置增量运算符具有最高优先级)并期望结果表达式如下所示:
2 + 2 + 5 / 0
但结果是 7,为什么?(通过一点点实验,我发现由于某种原因,所有运算符都被赋值为 1,但如果优先级表正确,这对我来说没有意义)
int intCountOperator = 0;
unaryOperand = ++intCountOperator + intCountOperator + 5 / intCountOperator++;
System.out.println(unaryOperand); // Prints 7