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

原文地址:https://www.cnblogs.com/hebiao/p/10899907.html