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 的補數

三、算術運算子

算術運算子
意義
+
加法
減法
*
乘法
/
除法
%
取餘數
在除法的部分,要注意資料型態的變化。

四、關係運算子與 if 敘述

如果括號中的條件判斷成立,就會執行後面的敘述;若是條件判斷不成立時,則後面的敘述就不會執行。
關係運算子
意義
>
大於
<
小於
>=
大於等於
<=
小於等於
==
等於
!=
不等於

五、遞增與遞減運算子

善用遞增與遞減運算子可提高城市的簡潔程度。
遞增與遞減運算子
意義
++
遞增,變數值加一
遞減,變數值減一
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型態
  • 布林型態不能轉換成其它的型態