- i++问题
int i = 0; i = i++; print(i) // 0
解释:
i++中有两个临时变量,所以上式编译之后会成为int i = 0; byte temp1 = i; int temp2 = i + 1; i = temp1; print(i)
但是其真正的字节码中只有i一个变量,使用栈完成上述结果(复习栈帧的内容)
woyou.cool
int i = 0;
i = i++;
print(i) // 0
解释:
i++中有两个临时变量,所以上式编译之后会成为
int i = 0;
byte temp1 = i;
int temp2 = i + 1;
i = temp1;
print(i)
但是其真正的字节码中只有i一个变量,使用栈完成上述结果(复习栈帧的内容)