public class addSelfDemo
{
public static void main(String[] args)
{
int count = 0;
for(int i = 0; i < 10; i++){
count = count++;
}
System.out.println(count);
}
}
这段代码会输出什么? 10吗? 运行下,结果输出0!!!!
为什么会是0??
通常认为
int a = i++;
等价于:
int a = i;
i=i+1;
实际不然, i++是一个表达式,表达式可以看做是一个函数:
int fun(){
int temp = i;
i = i + 1;
return temp;
}
如果在将这个值赋给i,那么i又变回原来的值了。
这就是输出0的原因