i++易错

直接上代码

    public static void main(String[] args) {
        int i = 0;
        change(i);
        i = i++;
        System.out.println("i = " + i);
    }
    public static void change(int i){
        i++;
    }

结果是:i = 0;

它是这样的,i++:它有一个中间的缓存的机制:

i++ (等价于)

int temp = i;

i = i + 1;

i = temp;

原文地址:https://www.cnblogs.com/donghaibin/p/9168956.html