int a = 0;
int b;
b = (a++) + (++a);
System.out.println("b:" + b);
System.out.println("a:" + a);
打印输出:
b:2
a:2
个人理解:
++ 的优先级高于 +
++ a 先于 a ++ 执行
所以,这个语句执行顺序是:
先做 ++a, 这个时候a的值已经变成了1并且参与运算(就是先赋值,后参与运算)
然后做 a++, a的值变成了2但是不参与运算(就是先参与运算,运算结束后赋值)
然后在运算的时候,两个a参与运算的值都是1,b就是2了
然后再输出a,a的值是2
请轻喷