從壓縮包學習 Gambas 程式設計/運算子優先順序
外觀
在一個表示式中,哪個部分先計算,然後哪些運算再計算?
例如,2 + 3 * 4 等於 20(+ 優先,* 次之)還是 14(* 優先,然後 +)?乘法優先於加法,因此表示式的結果是 *14*。
規則
- 先計算值,然後進行比較。
- 任何在括號中的內容優先計算。
- 最高優先順序是改變符號(-)或用 NOT 反轉真/假。
- 字串連線優先於路徑組裝。(& 優先於 &/)。
- *冪* 優先於 *乘法或除法*,而 *乘法或除法* 優先於 *加法或減法*。
- 如果有多個運算子具有相同的優先順序,則從左到右計算,但這並不重要,因為 3 * (4 / 2) 等同於 (3 * 4) / 2
- 比較運算優先於與其他比較運算進行 *與*、*或* 或 *異或*。
示例
4 ^ 2 * 3 ^ 3 *與* (4 ^ 2) * ( 3 ^ 3 ) *相同*
a > 10 AND a < 20 *與* ( a > 10 ) AND ( a < 20 ) *相同*
4 * 2 + 3 * 3 *與* ( 4 * 2 ) + ( 3 * 3 ) *相同*
4 + 2 = 5 + 1 *與* ( 4 + 2 ) = ( 5 + 1 ) *相同*