运算符的有效组合 (Visual Basic)

复杂表达式可能包含许多不同的运算符。 下面的示例对此进行了演示。

x = (45 * (y + z)) ^ (2 / 85) * 5 + z

创建复杂表达式(如上述示例中的表达式)需要全面了解运算符优先级规则。 有关详细信息,请参阅 Visual Basic 中的运算符优先级

括号表达式

你经常需要运算符的运算顺序与运算符优先级规定的顺序不一样。 请看下面的示例。

x = z * y + 4

前面的示例将 z 乘以 y,然后再将结果加 4。 但是如果希望先将 y4 相加,再将结果乘以 z,则可以用括号重写常规操作符的优先级。 通过将表达式括在括号中,可以强行先计算该表达式,而忽略原有的运算符优先级。 要强制前面的示例先运算加法,可以按下面的示例那样重写它。

x = z * (y + 4)

前面的示例将 y4 相加,然后将和乘以 z

嵌套括号表达式

可以在多个级别的括号中嵌套表达式,来进一步重写优先级。 首先计算括号中嵌套最深的表达式,然后计算下一个嵌套最深的表达式,按此顺序依次计算直到嵌套最浅的表达式,最后计算括号外的表达式。 下面的示例对此进行了演示。

x = (z * 4) ^ (y * (z + 2))

在前面的示例中,首先计算了 z + 2,然后计算其他括号表达式。 此示例中最后计算了通常比加法或乘法具有更高优先级的指数运算,因为其他表达式都用括号括了起来。

另请参阅