1. 程式人生 > >[JAVA · 初級]:4.深入理解自增&自減運算

[JAVA · 初級]:4.深入理解自增&自減運算

定義

自增,自減運算子: ++   --

                 它們是計算機專家自創的特有運算子。

                 ++ 有兩種身份

                 a) 前加  ++a; 其規則是: a先增加,後使用。

                 b) 後加  a++; 其規則是: a先使用,後增加。

                 注意: 不論是前加 ++a;  還是後加 a++; 它們最終等價於  a = a + 1;

--有兩種身份:

                 a) 前減 --a;  其規則是: a先減少,後使用。

                 b) 後減 a--;  其規則是: a先使用,後減少。

                 注意: 不論是前減 --a; 還是後減 a--; 它們最終等價於 a = a - 1;

深入理解

下面我們來圍繞一個Demo來解釋關於變數自身的自增和自減問題:

<span style="font-size:18px;"><span style="font-family:SimSun;font-size:18px;"><span style="font-size:18px;">public class AddItself{
      publicstatic void main(String[]args){
      inti = 0;
      intj;
      for(j= 0;j < 5;j++){
           i= i++;
      System.out.println("i= " + i); 
      }
    }
}</span></span></span>

在編譯器上出了問題,java的編譯器在遇到i++和i- -的時候會重新為變數運算分配一塊記憶體空間,以存放原始的值,而在完成了賦值運算之後,將這塊記憶體釋放掉,下面首先看一下如果是j=i++的情況:


明白了上面的問題,讓我們接下來看看i=i++的情況:


所以這樣最後一次迴圈內的結果仍舊是i(即0):


學習小結

這種情況表明java的處理語法的機制不同,如果在程式中只輸入i++就不會出現這個方面的問題,所以大家在以後的程式中如果使用到i=i++的時候要格外小心,一般只需要用i++就不會有問題了。

所以,關於的JAVA的學習必須不斷地加強練習,尤其對於初學者來說,這段時間更是一個很好地提高期,借用極客快訊中一句勸諫的話:“不忘夢想和初心!”。