Java 自增、自減


i++/i--

  先使用變量的值,然后改變該變量的值;

++i/--i

  先改變該變量的值,然后使用變量的值;

學習Java的時候沒有思考過java中變量自增的原理,今天遇到一道java題目,有點懵:
int
i = 0; i = i++;

  最終變量i的值到底是變成1呢還是保持為0呢?

  java中變量自增、自減的實現其實使用了一個臨時中間變量作為緩存。

以i++為例:

1     public static void main(String[] args) {
2         int i = 0;
3         int j = i++;
4     }

以上代碼其實相當於:

    public static void main(String[] args) {
        int i = 0;
        int temp = i;
        i += 1;
        int j = temp;
    }

所以,i = i++的結果是i的值為保持不變。

public static void main(String[] args) {
int i = 0;
i = i++;
}

其實等於
public static void main(String[] args) {
int i = 0;
int temp = i;
i += 1;
i = temp;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM