指定、算數、單元運算子
介紹指定運算子、算數運算子、單元運算子
最簡單的指定運算子 Assignment Operator
就是等於符號『=』,可以把右邊的東西『指定』到左邊,並非一般數學上的『等於』
也用於物件參考(reference)的指定。
算數運算子 Arithmetic Operators
Java的算數運算子跟一般你學過的數學差不多,有加、減、乘、除,符號也一樣。另外還有『 % 』符號做取餘數的運算。
運算子Operator | 描述 | |
+ | 加法運算,也用於字串相加 | |
- | 減法運算 | |
* | 乘法運算 | |
/ | 除法運算 | |
% | 取餘數運算 |
使用範例:
執行結果:
合併
算數運算子可以跟指定運算子合併,也是一般常看到的寫法。
下面兩行是等價的:
假設a是變數, b是變數或數值:
Operator | 等價 | |
a += b | a = a + b | |
a -= b | a = a - b | |
a *=b | a = a * b | |
a /= b | a = a / b | |
a %= b | a = a % b |
純粹就是可以少打幾個字,不過因為方便也很多人這樣做,很多語言都是這樣,必須要清楚。
單元運算子 Unary Operators
單元的意思是,這個運算子是用來處理『單個』運算元的,也可稱為一元運算子。
Operator | 敘述 | |
+ | 正號運算子 (但就算沒加,預設就是正值) | |
- | 負號運算子 (讓負值變正,正值變負) | |
++ | 遞增運算子,遞增1 | |
-- | 遞減運算子,遞減1 | |
! | 布林反向運算子 (true變false,false變true) |
使用範例:
執行結果:
遞增/遞減運算子的前綴(prefix)後綴(postfix)差異
我們知道 a++ 其實就是 a=a+1 ,其實 a++ 也可以寫成 ++a,但意義上完全不一樣。
a++ ,存取完a的值後,做++的動作。
++a ,先做++的動作,在讓別人存取。
看個範例:
執行結果:
++跟--是同樣的邏輯,如果計算式寫的多又長要注意避免搞混,最簡單避免錯誤的方法就是分開寫,不要擠在一行,但每個人寫程式習慣都不同,還是要多留意。
放變數前面是先做運算,再供別人做存取。 放變數後面是存取完,再做運算。
Last updated