运算符优先级
在一个表达式中进行多个运算时,每一部分都会按预先确定的顺序进行计算求解,这个顺序被称为运算符优先级。平时我们一般使用圆括号()
来调整优先级,所以不需要刻意去记这个优先级。括号内的操作总是比括号外的操作先被执行。但是在括号内,仍保持正常的运算符优先级。
当表达式有多种运算符时,先处理算术运算符,接着处理比较运算符,然后再处理逻辑运算符。所有比较运算符有相同的优先级,即按它们出现的顺序从左到右进行处理。算术运算符和逻辑运算符按下列优先级进行处理:
算术运算符 | 比较运算符 | 逻辑运算符 |
---|---|---|
指数运算 (^ ) | 相等 (= ) | Not |
负数 (- ) | 不等 (<> ) | And |
乘法和除法 (* , / ) | 小于 (< ) | Or |
整除 (\ ) | 大于 (> ) | Xor |
求余运算 (Mod ) | 小于或等于 (<= ) | Eqv |
加法和减法 (+ , - ) | 大于或等于 (>= ) | Imp |
字符串连接 (& ) | Is | & |
当乘法和除法同时出现在表达式中时,按照从左到右出现的顺序处理每个运算符。同样,当加法和减法同时出现在表达式中时,也按照从左到右出现的顺序处理每个运算符。
字符串连接运算符 (&
) 不是算术运算符,但是就其优先级而言,它在所有算术运算符之后,而在所有比较运算符之前。Is
运算符是对象引用的比较运算符,它并不比较对象或对象的值,而只判断两个对象引用是否引用了相同的对象。