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