版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38002337/article/details/80299183
public static void main(String[] args) {
int i = 1;
int a = i++;// 先赋值(a=i)在计算(i++) a=i=1 i=i+1=2
int b = ++i;// 先计算(++i)再赋值(b=i) i=i+1=3 b=i=3
}
public static void main(String[] args){
int i = 1;
i++; // i=2
i++; // i=3
i++; // i=4
i = 1;
i = i++; // i=1
i = i++; // i=1
i = i++; // i=1
i = 1;
++i; // i=2
++i; // i=3
++i; // i=4
}
i=i++
步骤1:JVM把 i 的值拷贝到临时变量区
步骤2:i 值加1,这时候i的值是2
步骤3:返回临时变量区的值,1
步骤4:返回值赋值给i,此时i值被重置成0.