逻辑运算符用法
逻辑运算符允许对一个或多个表达式进行运算,并返回一个逻辑值。逻辑运算符包括:And(逻辑与)、Or(逻辑或)、Not(逻辑非)、Eqv(与或)、Imp(蕴含)、Xor(异或)。
- And 执行逻辑与运算,即如果表达式1和表达式2都是True,则结果返回True;只要其中一个表达式为False,其结果就是False;如果有表达式为Null,则结果为Null。其语法为:
结果=表达式1 And 表达式2
例如,If x>1 And y<10 Then,表示如果x的值大于1且y的值小于10时,就执行Then后面的代码。
- AndAlso 类似And,执行逻辑与运算,但是如果前面的表达式已经是False,则不会执行其后面的表达式,直接返回False,相当于优化的And。
- Or 执行逻辑或运算,即如果表达式1或者表达式2为True,或者表达式1和表达式2都为True,则结果为True;只有两个表达式都不是True时,其结果才为False;如果有表达式为Null,则结果也是Null。其语法为:
结果=表达式1 Or 表达式2
例如,If x>1 Or y<10 Then,表示如果x的值大于1,或者y的值小于10,则执行Then后面的代码。
- OrElse 与Or类似,执行逻辑或运算,但是如果前面的表达式已经是True,则不会执行其后面的表达式,直接返回True,相当于优化的Or。
- Not 对一个表达式进行逻辑非运算,即如果表达式为True,则Not运算符使该表达式变成False;如果表达式为False,则Not运算符使该表达式变成True;如果表达式为Null,则Not运算符的结果仍然是Null。其语法为:
结果=Not 表达式
例如,If Not IsError(x) Then,如果IsError返回False则执行Then后面的代码,表示x中不包含错误。
- Xor 执行逻辑异或运算,用于判断两个表达式是否不同。若两个表达式都是True或都是False时,其结果就是False;如果只有一个表达式是True,其结果就是True;如果两个表达式中有一个是Null,其结果是Null。其语法为:
结果=表达式1 Xor 表达式2
逻辑运算符的优先顺序
逻辑运算符的优先顺序依次为:Not——And——Or——Xor。如果在同一行代码中多次使用相同的逻辑运算符,则从左到右进行运算。