i++和++i的区别
i++ 取值 复制 +1 返回(先引用后增加:先执行i = i + 1,再使用i的值)
++i 取值 +1 返回(先增加后引用:先使用i的值,再执行i = i + 1)
在for循环中的第三个条件使用i++和++i效果是一样的,但是效率上略有差异(循环次数越多效果越明显)
原因:i++需要一个临时变量(申请一段内存空间)去存储自增前的值,而++i不需要
所以写for循环时在不影响逻辑的情况下优先使用++i,这也是一定程度的系统优化
注意:在其它地方i++和++效果是不一样的
int x = 2;
int y = 2;
int a;
int b;
a = ++x;
b = y++;
System.out.println("a = " + a); // a = 3(此时 x = 3)
System.out.println("b = " + b); // b = 2(此时 y = 3)