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

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

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

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

括号表达式

通常,你希望操作按不同的顺序进行,而非由运算符优先级所决定的顺序。 请考虑以下示例。

x = z * y + 4

前面的示例乘以zy,然后将结果添加到 4。 但是,如果想要在将结果乘以 y之前,先添加 4z,可以使用括号来改变普通运算符的优先级。 通过将表达式括在括号中,可以强制先计算该表达式,而不考虑运算符优先级。 若要强制前面的示例先执行加法,可以重写它,如以下示例所示。

x = z * (y + 4)

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

嵌套括号表达式

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

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

在前面的示例中,首先计算 z + 2,然后再计算其他括号表达式。 指数通常优先于加法或乘法,在此示例中最后计算,因为其他表达式括在括号中。

另请参阅