2-2 運算式與運算子
ActionScript陳述式(statement)中的運算式(expression)和一般程式語言一樣,是由運算元(operand)和運算子(operator)所構成的。例如:「a+b」是一個加法運算式,其中a、b是屬於運算元,而+號則是屬於運算子(或稱運算符號)。下面介紹常用運算子:
1. 算術運算子
2. 字串運算子
3. 關係運算子
4. 邏輯運算子
5. 指定運算子
6. 單一運算子
一、 算術運算子
所謂「算術運算式」即為一般所使用的數學表示式,算術運算子包括:+ (加號)、 -(減號)、 * (乘號)、 / (除號)以及 % (取餘數)等運算子。各個運算子與運算元的寫法如下表所示:
運算子 |
功能 |
運算式 |
結果 |
- |
負數 |
-(-5) |
5 |
+ |
加 |
5+3 |
8 |
- |
減 |
5-3 |
2 |
* |
乘以 |
5*3 |
15 |
/ |
除以 |
5/3 |
1. 66666666666667 |
% |
取餘數 |
5/3 |
2 |
二、 字串運算子
1. Flash
使用「+」當作字串合併運算子,它會將字串合併運算子前後的字串頭尾合併成一字串。
2. 使用「+」號當運算子,只要運算子前後的運算元,有一個運算元的資料型態是字串,採字串合併處理。
運算式 |
結果 |
“張” + “老師” |
“張老師” |
“5” + “3” |
“53” |
5 + “3” |
“53” |
“5” + (3 * 2) |
“56” |
5 + (3*2) |
11 |
三、 關係運算子
「關係運算式」和「邏輯運算式」兩者都是在程式設計時用來構成條件的基本要件。由於這兩種運算式經過運算後會產生「true」(真)或「false」(假,)兩個結果。
關係運算子 |
意義 |
運算式 |
結果 |
== |
相等 |
5 == 3 |
false |
!= |
不相等 |
5 != 3 |
true |
> |
大於 |
“b” > “a” |
true |
< |
小於 |
“a” < “A” |
false |
>= |
大於或等於 |
5 >= 3 |
true |
<= |
小於或等於 |
5 <= 3 |
false |
字串是以內碼來比較大小,a的內碼比b的內碼小,所以b比a大。
四、 邏輯運算子
「邏輯運算式」是用來測試較複雜的條件,邏輯運算式的結果可以為真(true) 或假(false)。當一個運算式中有兩個以上的關係運算子就必須透過邏輯運算子來連接, Flash 所提供邏輯運算子的種類以及邏輯運算式的用法如下表:
邏輯運算子 |
意義 |
邏輯運算式 |
用法 |
&& |
且 |
A && B |
當A、B皆為true時,結果為true。 |
|| |
或 |
A || B |
若A、B其中只要有一個為true, 結果為true。 |
! |
非 |
! A |
若A為true,則結果為false 若A為false,結果為真true。 |
各種邏輯運算式經過運算後,所有可能的結果如下表:
A |
B |
A && B |
A || B |
!A |
true |
true |
true |
true |
false |
true |
false |
false |
true |
false |
false |
true |
false |
true |
true |
false |
false |
false |
false |
true |
1. (5
> 3) && ("a" == "A") 結果為 false
2. (5
> 3) || ("a" == "A") 結果為 true
3. !(5 > 3) 結果為 false
五、 指定運算子
運算子符號 |
意義 |
i = 5 |
i運算後結果 |
= |
指定 |
i = 88 |
88 |
+= |
相加後再指定 |
i+=2 |
7 |
-= |
相減後再指定 |
i-=2 |
3 |
*= |
相乘後再指定 |
i*=2 |
10 |
/= |
相除後再指定 |
i/=2 |
2.5 |
%= |
餘數後再指定 |
i%=2 |
1 |
六、 單一運算子
運算子符號 |
意義 |
Flash表示式 |
++ |
遞增運算子 |
a=c++; (先執行a=c; 再執行c=c+1;) |
-- |
遞減運算子 |
a=d--; (先執行a=d; 再執行d=d-1;) b=--d; (先執行d=d-1; 再執行b=d) |
1
c=10;
c++;
// 結果 c為 11
2
c=10;
++c;
// 結果 c為 11
3
c=10;
a=c++;
// 結果 a為 10, c為11
4
c=10;
a=++c;
// 結果 a為 11, c為11