在 java 8 中的优先级运算符之后,很明显后缀运算符 (expr++ expr--) 具有比一元运算符、前一元运算符 (++expr --expr) 更高的优先级。但是在执行此代码时:
x = 3; y = ++x - x++;
y 的值为 0
但对我来说,按照上表,结果应该是 y = (5 - 3),因为应该首先评估 x++。
谁能解释为什么这是 y = 0 而不是 y = 2?
在 java 8 中的优先级运算符之后,很明显后缀运算符 (expr++ expr--) 具有比一元运算符、前一元运算符 (++expr --expr) 更高的优先级。但是在执行此代码时:
x = 3; y = ++x - x++;
y 的值为 0
但对我来说,按照上表,结果应该是 y = (5 - 3),因为应该首先评估 x++。
谁能解释为什么这是 y = 0 而不是 y = 2?