/*第一种情况
count = count ++;
count始终为 0 , count++ 是一个表达式,有返回值。
java处理:
首先把count的值拷贝到临时变量区,然后对count变量加 1,最后返回临时变量区的值。
据说 count = count++ 可以这样理解:
public static int mockAdd(int count){
int temp = count;
count = count + 1;
return temp;
}
但是,我不知道上述说法是否正确。
输出结果:
第 0 次的 = 0
第 1 次的 = 0
第 2 次的 = 0
第 3 次的 = 0
第 4 次的 = 0
第 5 次的 = 0
第 6 次的 = 0
第 7 次的 = 0
第 8 次的 = 0
第 9 次的 = 0
Last count = 0
*/
/* 第二种情况
count = ++count;
输出结果:
第 0 次的 = 1
第 1 次的 = 2
第 2 次的 = 3
第 3 次的 = 4
第 4 次的 = 5
第 5 次的 = 6
第 6 次的 = 7
第 7 次的 = 8
第 8 次的 = 9
第 9 次的 = 10
Last count = 10
*/
public class Count
{
public static void main(String args[])
{
int count = 0;
for(int i=0;i<10;i++){
count = count ++;//出现问题的地方就是这里 (1)
count = ++count;//出现问题的地方就是这里 (2)
System.out.println("第 "+i+" 次的 = "+count);
}
System.out.println("Last count = "+count);
}
}