1. 程式人生 > 其它 >關於i = i++的理解

關於i = i++的理解

技術標籤:Javajava

關於i = i++的理解:

首先我們看程式碼例子:

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

結果是:
程式碼執行結果
OK! 執行結果為i = 0;我解釋一下自己的看法:
彙編層面的我也就不說了!

區域性變數的值,在記憶體分析的時候,都被放入了棧中:
1.首先會將0放在棧中,
2.從棧頂中彈出元素也就是0
賦值給i, int i = 0;執行完畢 3.將i++中i的值彈入棧,現在也就是04.然後對區域性變量表中的區域性變數進行累加操作,這是i = 1; 5.將棧頂的元素彈出複製給i,此時i = 0,也就是說白忙活了。

這便是我對 i = i++ 的一些理解,歡迎指正!

這是另外一個超級詳細的博文!推薦!