算數運算子 |
說明 | 範例 |
+ |
(+)正號或 加法(+) | +2 -> 取得正數2 2+1=3 |
- |
(-)負號或 減法(-) | -2 ->取得負數2 2-1=3 |
* | 乘法 | 2 * 3 =6 |
/ | 除法 | 4 / 2 =2 |
% | 餘數 | 5 %2 = 1,求得5除以2的餘數 |
++ | 遞增 | 前序遞增: int a=0; a=++a;(表示a先加1,再指派給a,所以a=1) 後序遞增: int a=0; a=a++;(表示a先指派給a,之後a在加1,所以a=0) |
-- | 遞減 | 前序遞減: int a=3; a= --a;(表示a先減1,再指派給a,所以a=2) 後序遞減: int a=3; a=a--;(表示a先指派給a,之後a在減1,所以a=3) |
算術運算子兩邊的運算元,若有一邊是浮點數、一邊是整數,那麼運算的結果會為浮點數。
|
- Java 可使用「+」當作字串合併運算子,它會將字串合併運算子前後的字串頭尾合併成一字串。
- 使用「+」號當運算子,只要運算子前後的運算元,有一個運算元的資料型別是字串,則合併結果的資料型別就為字串。
值域在int (含)以下的資料型別(byte,short,char)作四則運算的時候,在當下運算時的資料型別會被轉成int ,所以要適時的作型別轉換!
short x=2,y=3,z; z=x + y ; |
在編譯時會發生精度錯誤,所以必須要轉型
short x=2,y=3,z; z=(short) (x + y) ; <-要將x+y的int運算結果轉成short |
遞增 |
將變數值加1或減1在程式中是常用的指令。可以使用加法運算子(+)來達成。
例如:
int age = 10 ; age= age+1; System.out.println(age); //顯示11 |
然而遞增遞減1個單位是常見的動作,所以有特定的運算子來表示,++與一運算子。之所以稱為單元運算子,是因為運算時只須提供一個運算子。
所以上面的程式碼可以改寫成這樣:
int age = 10 ; age++; System.out.println(age); //顯示11 |
- 遞增(++):可以分成前置遞增(例如:++num)與後置遞增(例如:num++),這2種情況都是指派該變數自行加1,差別在於:
- 前置遞增:變數先自行加1後,再作其他運算。
- 後置遞增:先做運算,之後變數在自行加1。
結果會像這樣a=3,b=0
為什麼會這樣,因為
沒有留言:
張貼留言