i++ ++i i=i+1 和i+=1
这几个运算符的差别总是过一段时间就爱搞混,每次需要百度,还是自己记录一下方便查阅。
int i=0;
System.out.println(i++);
输出:0
int i=0;
System.out.println(++i);
输出:1
int i=0;
System.out.println(i=i+1);
输出:1
int i=0;
System.out.println(i+=1);
输出:1
发现,其它都可以自增,i++仍然是原来的值没有变。
i=i+1跟i+=1一样,只是后者效率更高。
i++先赋值后自增,++i先自增后赋值。
int i=0;
i=++i;
System.out.println(i);//输出:1
int i=0;
i=i++;
System.out.println(i);//输出:0
i++程序详细处理步骤如下: 步骤1 JVM把右边i值(其值是0)拷贝到临时变量区。 步骤2 右边值加1赋值给左边i,这时候左边i的值是1。 步骤3 返回临时变量区的值,注意这个值是0,没修改过。 步骤4 返回值赋值给左边i,此时i值被重置成0
例子:
int i=0,j=0;
j=i++;//j=i,i=i+1
System.out.println(i);//输出1
System.out.println(j);//输出0