int a = 5;
a+=5*++a/5 + 2;
结果为13;
在做复合赋值运算时,JVM先确定运算符左边的值,再确定运算符右边的值,然后在做复合运算。
复合运算为+=
1、确定左边的的值,左边a的值在开始运算时为5;即左边为5
2、确定右边的值,右边5*++a/5 + 2;做++a运算后,a值为6,整个右边表达式结果为6 + 2 = 8;
3、整个表达式的值为左边+右边,即5+8=13
4、再将整个表达式的值赋给a;即a=13.
放着不要忘记了。
int a = 5;
a+=5*++a/5 + 2;
结果为13;
在做复合赋值运算时,JVM先确定运算符左边的值,再确定运算符右边的值,然后在做复合运算。
复合运算为+=
1、确定左边的的值,左边a的值在开始运算时为5;即左边为5
2、确定右边的值,右边5*++a/5 + 2;做++a运算后,a值为6,整个右边表达式结果为6 + 2 = 8;
3、整个表达式的值为左边+右边,即5+8=13
4、再将整个表达式的值赋给a;即a=13.
放着不要忘记了。