首先说结果
public static void main(String[] args) {
int i = 8;
i = i++;//i的8先压入操作数栈,之后执行局部变量中的i自增1变为9,之后执行赋值 将操作数栈中的8弹出赋值给i,结果i最终为8
// i = ++i;//先执行局部变量中的i自增1变为9,之后i的9压入操作数栈,在之后执行赋值 将操作数栈中的9弹出赋值给i,结果i最终为9
System.out.println(i);
}
i=8;i=i++; 最后i=8
i=8;i=++i; 最后i=9
jvm字节码:
i = i++:
i = ++i: