先看一小段代码:
public static void main(String[] args) {
int i=1;
i=i++;
System.out.println(i);
}
可能很多人认为结果是‘2’,因为I先赋值给自身,然后又进行了增1.
上述结论是错的!实际上,不管是前置++I,还是后置I++,都是先将变量的值加1,然后再继续计算的。
两者真正的区别是:前置++是将变量加1后,使用增值后的变量进行计算,而后置++是首先将变量赋值给一个临时变量,接下来对变量的值加1,然后使用临时变量进行运算。
上面程序片段等价于:
int i = 1;
int temp = i;
i += 1;
i=temp;
希望对大家有所帮助!