该方法返回a的值
public int test(){
int a = 2;
a += a -= ++a * a++;
return a;
}
以下是该方法的jvm指令集,当你能看懂的时候,你就真正理解为什么等于-5了。
public int test();
Code:
0: iconst_2
1: istore_1
2: iload_1
3: iload_1
4: iinc 1, 1
7: iload_1
8: iload_1
9: iinc 1, 1
12: imul
13: isub
14: dup
15: istore_1
16: iadd
17: istore_1
18: iload_1
19: ireturn
}