Java根据表达式的优先级从左到右计算表达式。
int x = 3, y = 7, z = 4;x (3) += x++ (3) * x++ (4) * x++ (5); // gives x = 63System.out.println(x);y = y (7) * y++ (7);System.out.println(y); // gives y = 49z = z++ (4) + z (5);System.out.println(z); // gives z = 9
后缀递增运算符仅在使用/返回变量后递增该变量。一切似乎都是正确的。
这是后缀增量运算符的伪代码:
int x = 5;int temp = x;x += 1;return temp;
从JLS
15.14.2(参考):
后缀增量表达式的值是存储新值之前的变量值。



