public static void main(String[] args) {
int a = 1;
int b = a++ + ++a + a--;
System.out.println(a);
System.out.println(b);
}
2
7
a++ 等价于 a=a+1,但是如果用在表达式中,会先取a的原值,然后才执行++,而++a,会先对a进行++,然后用结果进行计算。
b这里,第一个a++,表达式里取得是1,但是这里a已经变成2了,第二个++a,这个时候a变成了3,表达式计算取得也是3,最后一个a--,仍然取得是原值3,然后a进行了--变成了2。
所以这里b = 1+3+3=7,而a=2。
1.++在后返回运算后的值a++=2
++a=3 --a=2
a=2
b=2+3+2=7