public static void main(String[] args) {
int i = 8;
i = i++;
//i = ++i;
System.out.println(i);
}
i = i++; 过程
bipush 8:将8压栈
istore_1:8出栈,放到局部变量表下标为1的位置 i (到这,int i = 8;完成)
iload_1:将局部变量表下标为1的值拿出压栈
iinc 1 by 1:将局部变量表下标为1位置上的值+1(此时局部变量表为1位置的值为9,即i=9,栈里为8)
istore_1:栈里的8出栈,赋值给局部变量表下标为1的位置,即赋值给i,此时i=8
i = ++i;过程
bipush 8:将8压栈
istore_1:8出栈,放到局部变量表下标为1的位置 i (到这,int i = 8;完成)
iinc 1 by 1:将局部变量表下标为1位置上的值+1(此时局部变量表为1位置的值为9,即i=9)
iload_1:将局部变量表下标为1的值,即i=9拿出压栈
istore_1:栈里的9出栈,赋值给局部变量表下标为1的位置,即赋值给i,此时i=9