运算符的有效组合 (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 的值,然后再计算其他带括号的表达式。 通常比加法或乘法具有更高优先级的求幂在此示例中最后计算,因为其他表达式都放在括号中。

请参见

任务

如何:计算数值 (Visual Basic)

参考

逻辑/按位运算符 (Visual Basic)

Visual Basic 中的运算符优先级

概念

算术运算符 (Visual Basic)

比较运算符 (Visual Basic)

Visual Basic 中的逻辑运算符和位运算符

布尔表达式 (Visual Basic)

值的比较 (Visual Basic)