public static void main(String[] args) {
int i = 1;
i = i++;
int j = i++;
int k = i + ++i * i++;
System.out.println("i=" + i);
System.out.println("j=" + j);
System.out.println("k=" + k);
}
i=4 j=1 k=11
2+3*3=11
原理:
局部变量表
操作数栈
i++、++i是直接在局部变量表中改值,其余运算先在操作数栈中运算,然后拷贝回局部变量表
总结:
i=i++,值不变,因为大值被覆盖了。
j=i++,j是小值,i增1
i=i++,+1会被永远的覆盖掉!其余都正常。



