java中i=i++

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的值覆盖掉。

猜你喜欢

转载自blog.csdn.net/yu532164710/article/details/87798810