【java基礎】++ -- 運算子詳解
阿新 • • 發佈:2018-12-14
++ -- 運算子詳解
## 關於自增自減運算的問題《java程式設計思想》中是這樣說的:
a、(i++,i--)運算子在運算元後面,先賦值,再運算
b、(++i, --i)運算子在運算元前面,先運算,再賦值
例:
int i = 1; System.out.println(i-- - ++i); System.out.println(i++ + ++i); System.out.println(i); //輸出結果 0 4 3
解析:第一行(i-- - ++i) 。輸出0。i的初始值為1,第一個i--,由於運算子在後面所以要先算出這個i--表示式的值為1,然後i再進行--,i的值為0
第二行(i++ + ++i)。第一行運算完之後i的值是1。這裡i++先賦值,再運算。也就是i++表示式為1,再++,所以i的值是2。++i先運算再賦值,++i也就是++2,表示式的值為3,再給i賦值,i也是3。表示式的值繼續參加運算,就是(1 + 3),所以最後輸出4。
經過上面的運算,所以最後i的值是3。最後一行輸出3。
總結:總之就是表示式的值參與運算,然後再算出運算元的值。如果沒看明白,多讀兩遍應該就能明白了,實在不知道咋解釋。
## 再來談談i=i++的問題
// 示例一 int i = 1; i = i++; System.out.println(i); // 輸出結果 1 ------分割----------------------- // 示例二 int i = 1; i = ++i; System.out.println(i); // 輸出結果 2
解析:示例一,i的初始值為1,i++表示式結果為1,然後進行++,i的值為2。再把表示式的結果賦值給i,因此,i為1。
示例二,i的初始值為1,++i表示式結果為2,i的值為2,把表示式的結果賦值給i,i為2。
總結:總之就是把表示式的結果賦值給等號左邊的變數。 如有問題,歡迎指正。