运算符优先级

在一个表达式中进行多个运算时,每一部分都会按预先确定的顺序进行计算求解,这个顺序被称为运算符优先级。平时我们一般使用圆括号()来调整优先级,所以不需要刻意去记这个优先级。括号内的操作总是比括号外的操作先被执行。但是在括号内,仍保持正常的运算符优先级。

当表达式有多种运算符时,先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符。所有比较运算符有相同的优先级,即按它们出现的顺序从左到右进行处理。算术运算符和逻辑运算符按下列优先级进行处理:

算术运算符 比较运算符 逻辑运算符
指数运算 (^) 相等 (=) Not
负数 (-) 不等 (<>) And
乘法和除法 (*, /) 小于 (<) Or
整除 (\) 大于 (>) Xor
求余运算 (Mod) 小于或等于 (<=) Eqv
加法和减法 (+, -) 大于或等于 (>=) Imp
字符串连接 (&) Is &

当乘法和除法同时出现在表达式中时,按照从左到右出现的顺序处理每个运算符。同样,当加法和减法同时出现在表达式中时,也按照从左到右出现的顺序处理每个运算符。

字符串连接运算符 (&) 不是算术运算符,但是就其优先级而言,它在所有算术运算符之后,而在所有比较运算符之前。Is 运算符是对象引用的比较运算符,它并不比较对象或对象的值,而只判断两个对象引用是否引用了相同的对象。