int i = 0;
i = i++;
System.out.println(i);
代码如上,为什么输出的i是0而不是1呢?
来一起看一下上面那段代码都做了什么:
int oldValue = i;
i = i + 1;
i = oldValue;
换句话说,这是一个普遍的误解,增量是最后发生的,表达式赋值之后自增才会立即执行。
int i = 0;
i = i++;
System.out.println(i);
代码如上,为什么输出的i是0而不是1呢?
来一起看一下上面那段代码都做了什么:
int oldValue = i;
i = i + 1;
i = oldValue;