跳到主要内容

运算符优先级

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

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

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

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

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