跳转到内容

Rexx 编程/Rexx 指南/运算符优先级

来自维基教科书,开放的书籍,为开放的世界

运算符优先级规则用于确定在表达式求值过程中运算符的执行顺序。一个没有经验的程序员可能会期望以下程序中的表达式产生 35 的结果。然而,实际上它会产生 23 的值,因为乘法优先级高于加法,所以它会先执行。

/* 这不会产生 23 的值 */ say 3 + 4 * 5

使用圆括号控制求值的顺序

[编辑 | 编辑源代码]

可以通过使用圆括号来改变表达式中运算符的求值顺序。在以下示例中,表达式产生 35 的值,因为圆括号的优先级高于乘法,所以它们的內容会先求值

/* Parentheses cause the addition to be evaluated before the multiplication */
say (3 + 4) * 5

圆括号内的运算符或函数组具有与正常情况相同的优先级

[编辑 | 编辑源代码]

圆括号内的运算符或函数组具有与正常情况相同的优先级。在以下示例中,圆括号内的乘法会先于加法执行

/* The multiplication within the parentheses is evaluated before the addition */
say 3 * (4 + 2 * 3)

优先级相同的运算符从左到右求值

[编辑 | 编辑源代码]
say 5 - 2 + 1
华夏公益教科书