复杂表达式可以包含许多不同的运算符。 下面的示例对此进行了演示。
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
,然后再计算其他括号表达式。 指数通常优先于加法或乘法,在此示例中最后计算,因为其他表达式括在括号中。