Java中关于 a += ++a 的值

    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的区别,嘿嘿

++在前先自增再运行程序,++在后先运行程序再自增