i++和++i是编程初学者最常见的问题之一,主要区别是i++是先赋值在自增,而++i是先自增在赋值,如果不进行赋值操作,二者几乎可以替换,如常见的for循环中二者都是通用的。
赋值操作如:
int i = 0;
int a = i++;//a=0
a = ++I;//a=1
System.out.println(i++);//0
System.out.println(++i);//1
这些都比较简单,也是老生常弹了,但是i++ + ++i的结果是什么?
下意识的认为就是1,因为i++=0 ++i=1,所以结果是1。
整个执行的过程是从右往左执行,先执行++i,赋值为1,i=1;然后执行i++,赋值为1,i=2;所以结果就是1+1=2。