运算符的有效组合 (Visual Basic)
复杂表达式可能包含许多不同的运算符。 下面的示例对此进行了演示。
x = (45 * (y + z)) ^ (2 / 85) * 5 + z
创建复杂表达式(如上述示例中的表达式)需要全面了解运算符优先级规则。 有关详细信息,请参阅 Visual Basic 中的运算符优先级。
括号表达式
你经常需要运算符的运算顺序与运算符优先级规定的顺序不一样。 请看下面的示例。
x = z * y + 4
前面的示例将 z
乘以 y
,然后再将结果加 4
。 但是如果希望先将 y
和 4
相加,再将结果乘以 z
,则可以用括号重写常规操作符的优先级。 通过将表达式括在括号中,可以强行先计算该表达式,而忽略原有的运算符优先级。 要强制前面的示例先运算加法,可以按下面的示例那样重写它。
x = z * (y + 4)
前面的示例将 y
和 4
相加,然后将和乘以 z
。
嵌套括号表达式
可以在多个级别的括号中嵌套表达式,来进一步重写优先级。 首先计算括号中嵌套最深的表达式,然后计算下一个嵌套最深的表达式,按此顺序依次计算直到嵌套最浅的表达式,最后计算括号外的表达式。 下面的示例对此进行了演示。
x = (z * 4) ^ (y * (z + 2))
在前面的示例中,首先计算了 z + 2
,然后计算其他括号表达式。 此示例中最后计算了通常比加法或乘法具有更高优先级的指数运算,因为其他表达式都用括号括了起来。