Comment on page
運算子、運算式
程式是由許多敘述組成的,而敘述的基本單位是運算元與運算子。 透過本章學習如何進行運算式之資料型態的轉換。
- 運算式由運算元(operand)與運算子(operator)組成
- 運算元可以是變數或是常數
- 運算子就是數學上的運算符號
- 如「+」、「-」、「*」、「/」等

根據運算子所使用的類別可分為:設定、算數、關係、邏輯、條件、逗號以及遞增與遞減運算子。

將變數設值可使用設定運算子
等號(=)並不是「等於」,而是「設定」
一元運算子只需要一個運算元
+6; // 表示正6
~a; // 表示取a的1補數
x=-y; // 表示負y的值設定給變數x存放
!a; // a的NOT運算,若a為0,則!a為1,若a不為0,則!a為0
使用!運算元必須為 boolean 型態
一元運算子 | 意義 |
+ | 正號 |
– | 負號 |
! | NOT 否定 |
~ | 取 1 的補數 |
算術運算子 | 意義 |
+ | 加法 |
– | 減法 |
* | 乘法 |
/ | 除法 |
% | 取餘數 |
在除法的部分,要注意資料型態的變化。
如果括號中的條件判斷成立,就會執行後面的敘述;若是條件判斷不成立時,則後面的敘述就不會執行。
關係運算子 | 意義 |
> | 大於 |
< | 小於 |
>= | 大於等於 |
<= | 小於等於 |
== | 等於 |
!= | 不等於 |
善用遞增與遞減運算子可提高城市的簡潔程度。
遞增與遞減運算子 | 意義 |
++ | 遞增,變數值加一 |
— | 遞減,變數值減一 |
a++ 會先執行整個敘述後再將a的值加 1++a則先把a的值加 1 後再執行整個敘述
&& :運算子前後的兩個運算元之傳回直接為真,運算的結果才會為真。
|| :運算子前後只要一個為真,運算的結果就會為真。
a>0 && b>0 // 兩個運算元皆為真,運算結果才為真
a>0 || b>0 // 兩個運算元只要一個為真,運算結果就為真
邏輯運算子 | 意義 |
&& | AND 且 |
|| | OR 或 |
AND :兩者都要為真,運算結果才會為真。
AND | T | F |
T | T | F |
F | F | F |
OR :其中一個為真,運算結果就為真。
OR | T | F |
T | T | T |
F | T | F |
( ) 可以提高括號內運算式的優先處理順序

優先順序數字愈小,表示優先順序愈高。

範例
運算式可以由數值、變數或是其他運算元與運算子所組合而成。
運算子 | 用法 | 說明 | 意義 |
+= | a+=b | a+b 的值放到 a | a=a+b |
-= | a-=b | a-b 的值放到 a | a=a-b |
*= | a*=b | a*b 的值放到 a | a=a*b |
/= | a/=b | a/b 的值放到 a | a=a/b |
%= | a%=b | a%b 的值放到 a | a=a%b |
允許資料型態暫時轉換成其他型態的情況發生,以不流失資料為前提,即可做不同型態轉換。
根據以下規則來處理型態的轉換:
- 佔用位元組較少的型態轉換成位元組較多的型態
- 字元型態會轉換成short型態(字元會取其unicode碼)
- short型態(2 bytes)遇上int型態(4 bytes),會轉換成int型態
- int型態會轉換成float型態
- 運算式中若某個運算元的型態為double,則另 一個運算元也會 轉換成double型態
- 布林型態不能轉換成其它的型態
Last modified 3yr ago