public class Test{
public static void main(String[] args) {
int i=0;
for (int j = 0; j <100; j++) {
i=++i;
}
System.out.println(i);
}
}
上述代码输出结果为100
public class Test{
public static void main(String[] args) {
int i=0;
for (int j = 0; j <100; j++) {
i=i++;
}
System.out.println(i);
}
}
而这段程序结果0
Java使用中间变量缓存机制。
执行自增运算时,会为每一个自增操作分配一个临时变量
,如果是前缀加(++i),就会“先自加1后赋值(给临时变量)”;如果是后缀加(i++),就会“先赋值(给临时变量)后自加1”。