1、i++和++i
自增的两种形式:i++表示先赋值后加1,++i表示先加1后赋值
2、i=i++,看如下代码:
public class Test {
public static void main(String[] args) {
int i = 0;
i = i++;
System.out.println("i=" + i);
}
}
代码执行后结果是:
java编译器在遇到i++或者i--的时候,会重新为变量运算分配一块内存空间,存放原始的值,在完成运算后,再将内存空间释放掉。
i = i++,会重新开辟空间存放 i 的值,在原始位置保存i+1, 之后在执行赋值操作,将i+1的值覆盖掉。