|
当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级。可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分。运算时,总是先执行括号中的运算符,然后再执行括号外的运算符。但是,在括号中仍遵循标准运算符优先级。
当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符。所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符。算术运算符和逻辑运算符的优先级如下所示:
算术运算符
| 描述 |
符号 |
| 求幂 |
^ |
| 负号 |
- |
| 乘 |
* |
| 除 |
/ |
| 整除 |
\ |
| 求余 |
Mod |
| 加 |
+ |
| 减 |
- |
| 字符串连接 |
& |
比较运算符
| 描述 |
符号 |
| 等于 |
= |
| 不等于 |
<> |
| 小于 |
< |
| 大于 |
> |
| 小于等于 |
<= |
| 大于等于 |
>= |
| 对象引用比较 |
Is |
逻辑运算符
| 描述 |
符号 |
| 逻辑非 |
Not |
| 逻辑与 |
And |
| 逻辑或 |
Or |
| 逻辑异或 |
Xor |
| 逻辑等价 |
Eqv |
| 逻辑隐含 |
Imp |
当乘号与除号同时出现在一个表达式中时,按从左到右的顺序计算乘、除运算符。同样当加与减同时出现在一个表达式中时,按从左到右的顺序计算加、减法运算符。
字符串连接 (&) 运算符不是算术运算符,但是在优先级顺序中,它排在所有算术运算符之后和所有比较运算符之前。Is 运算符是对象引用比较运算符。它并不比较对象或对象的值,而只是进行检查,判断两个对象引用是否引用同一个对象。 (出处:源码网)
|