注释
社区兴趣团体现已从 Yammer 迁移到Microsoft Viva Engage。 若要加入 Viva Engage 社区并参与最新讨论,请填写 “请求访问财务和运营 Viva Engage 社区 ”表单,然后选择要加入的社区。
本文介绍运算符优先级。
计算复合表达式的顺序很重要。 如果未显式告知编译器要执行操作的顺序,则顺序基于运算符优先级。 可以使用括号 ( ) 显式告知 X++ 编译器如何计算表达式。
请考虑表达式,该表达式 x + y / 100会根据添加还是先执行除法来给出不同的结果。 由于除法运算符的优先级高于加法运算符,因此编译器首先计算 y/100 。 因此, x + y / 100 等效于 x + (y / 100)。 如果添加圆括号以生成表达式 (x + y)/ 100,则 x + y 首先计算。
若要使代码易于读取和维护,请明确并用括号指示应首先评估哪些运算符。
运算符优先级顺序
下表中的运算符按优先顺序列出。 运算符显示的表中的较高位置,其优先级越高。 优先顺序较高的运算符在优先级较低的运算符之前计算。 X++ 的运算符优先级与其他语言(如 C# 和 Java)不同。
| 按优先顺序排列的运算符 | Syntax |
|---|---|
| 一元运算符 | - ~ ! |
| 乘法、Shift、按位 AND、按位排他或 | * / % DIV << >> & ^ |
| 累加、按位非独占或 | + - |
| 关系、相等性 | < <= == != > >= like as is |
| 逻辑运算符(AND、OR) | &&,|| |
| 条件的 | ? : |
表中同一行的运算符具有相等的优先级。 如果表达式包含其中多个运算符,则除非使用赋值运算符,否则表达式将从左到右计算。 赋值运算符从右到左计算。 例如, && (逻辑 AND)和 || (逻辑 OR)具有相同的优先级,从左到右计算。 此优先级意味着 0 && 0 || 1 == 1,并且 1 || 0 && 0 == 0