class Hello {
public static void main(String args[]) {
int i = 10;
i *= i++ + i;
System.out.println(i);
}
}
Run Code Online (Sandbox Code Playgroud)
根据运算符的优先级,后缀运算符的优先级高于乘法运算符。括号内的操作数具有更高的优先级。
首先评估它们: i*(i++ + i) 所以,现在,括号内是 10+11: i*(21)
i 的当前值为 11
其次,由于下一个优先级计算乘法运算符,它不应该是11*21=231吗?
虽然,我知道答案是 210,为什么我上面解释的逻辑是错误的?