運算子
運算子指出要在表示式其他部分執行的運算,如加法和減法。
根據處理的資料類型,部分運算子具有不同的意義。例如,加號 (+) 可能表示整數之間的相加或字串之間的連結。在複式表示式中,運算子依優先順序評估。
下表列出每一個運算子的意義。運算子依優先順序列出。
運算子(依優先順序) | 意義 | 用法 | |
---|---|---|---|
括弧 | ( ) | 以邏輯方式分組表示式。 | (<expr>) |
算術運算子 | + - | 單元加號和減號。單元減號可變更數字符號;單元加號則不行。 | +<expr>-<expr> |
* / | 乘法和除法。當兩個整數相除時,會傳回整數(如果產生浮點值,則截斷該值以產生整數)。 | <expr>*<expr><expr>/<expr> | |
+ - | 數值的加法和減法。減號也會減去兩個時間的間隔秒數。 | <expr>+<expr><expr>-<expr> | |
字串連結運算子 | + | 將字串連結起來。 | <expr>+<expr> |
關係運算子(優先順序層次全部相同) |
|
|
|
邏輯運算子 | not | 當布林表示式為 false 時,評估為 true;當布林表示式為 true 時,評估為 false。 | not <expr> |
and | 當兩個表示式為 true 時,評估為 true。 | <expr> and <expr> | |
or | 當任一表示式為 true 時,評估為 true。 | <expr> or <expr> | |
like | 當表示式符合型樣時,評估為 true。型樣包含要搜尋的字串,其中可包括萬用字元。 | like <expr> | |
is null is not null | 測試空值。空值代表沒有資料。 | is null is not null |
運算子用法
在表示式中,運算元和結果通常必須是相同的資料類型,而運算子必須適用於該資料類型。請注意,表示式內允許混合使用數值資料類型(也就是 Float 和 Integer);例如,下面顯示的表示式有效(FloatVal 是 Float 類型的變數):
3 * 2.5
FloatVal > 2
在混合類型表示式中,執行運算之前,Integer 會隱含轉換成 Float。
運算子優先順序
在表示式內,會由左到右評估相同優先順序的運算子。 例如,在如下所示的整數表示式中,由於除法和乘法具有相同的優先順序,因此,6 除以 4 所得出的結果會被截斷(因為除數和被除數都是整數)並乘以 2。
6/4*2 = 2
在具有許多混合優先順序運算子的表示式中,自由使用括弧使得表示式更加容易瞭解及維護。 例如,以下是相同表示式的兩個變體;不過,第二個變體所用的括弧使得表示式邏輯更加清楚。
Num + 2 > 80 or Num - 2 < -20
((Num + 2) > 80) or ((Num - 2) < -20)