首先来看一段代码:
public class Demo {
public static void main(String[] args){
int count = 0;
for(int i = 0; i < 10; i++){
count = count++;
}
System.out.println(count);
}
}
大家觉得运行结果是多少?会不会有人觉得程序最后输出结果为 10。
实际上上述代码输出结果为 0。Why?
这就涉及到了Java对自增的处理过程:首先把 count 的值拷贝到临时变量区,然后对count变量加1,最后返回临时变量区的值。
所以每次循环后 count 的值仍然为 0。
如果需要实现自增,则只需要将 “count = count++” 改为 “count++” 即可。