请升级到MicrosoftEdge以使用最新的功能、安全更新和技术支持。
当表达式中发生多个操作时,将按预先确定的顺序(称为运算符优先级)来计算和解析各个部分。
当表达式包含多个类别中的运算符时,将根据以下规则对其进行计算:
运算符按照以下优先级顺序计算:
等待
求幂(^)
一元恒等(+、–)
乘法和浮点除法(*、/)
整数除法(\)
模块化算法(Mod)
加法和减法(+、–)
字符串串联(&)
算术移位(<<、>>)
所有比较运算符(=、<>、<、<=、>、>=、Is、IsNot、Like、TypeOf...Is)
求反(Not)
连接(And、AndAlso)
包含析取(Or、OrElse)
独占析取(Xor)
=运算符只是相等比较运算符,而不是赋值运算符。
字符串串联运算符(&)不是算术运算符,但在优先级上,它是与算术运算符组合在一起的。
Is和IsNot运算符是对象引用比较运算符。它们不会比较两个对象的值;它们仅检查以确定两个对象变量是否引用同一对象实例。
当相同优先级的运算符同时出现在表达式中时(例如,乘法和除法),编译器将按从左至右的顺序计算每个运算。下面的示例对此进行了演示。
Dimn1AsInteger=96/8/4Dimn2AsInteger=(96/8)/4Dimn3AsInteger=96/(8/4)第一个表达式计算除法96/8(这将导致12),然后是除法12/4,这会产生三个结果。由于编译器会按从左至右的顺序计算运算n1,因此当为n2显式指示该顺序时,计算是相同的。n1和n2都具有三个结果。相反,n3结果为48,因为括号强制编译器首先计算8/4。
THE END