从压缩包学习 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 ) *相同*