[JAVA · 初級]:4.深入理解自增&自減運算
阿新 • • 發佈:2019-01-24
定義
自增,自減運算子: ++ --
它們是計算機專家自創的特有運算子。
++ 有兩種身份
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的學習必須不斷地加強練習,尤其對於初學者來說,這段時間更是一個很好地提高期,借用極客快訊中一句勸諫的話:“不忘夢想和初心!”。