int a = 2;
System.out.println(a += ++a );
System.out.println(a);
为什么输出的结果都是5?
我的理解是先运算++a,a的值也编成3了,然后a+=a,不就是6了?
a=2
a+= ++a
所以a+=3,但是这里的a是a=2的a,所以是5
int a=2;
a=++a;
a+=a;
System.out.println(a);-----a=6
你想表达的是这种写法吧。。。。
计算a++的时候,这一行代码中a的值不变,下一次使用时变化;计算++a的时候,a的值先变化原式可变为 a=a+(a+1);
建议题主看看a++和++a的区别,嘿嘿
++在前先自增再运行程序,++在后先运行程序再自增