优先级和结合性-windows_server_2008_r2_x64环境下oracle_11g_r2_rac+asm环境搭建配置...

6.3优先级和结合性当表达式中含有多个运算符和操作数时,运算结果就有不止一种可能。这时就需要通过优先级和结合性来告诉编译器如何对这种表达式求值。所谓优先级(Precedence),指的是运算符结合操作数的能力。譬如,乘法运算符结合操作数的能力要强于加法运算符,因此具有更高的优先级。赋值运算符则拥有较低的优先级,因此它与操作数的结合较为松散。括号拥有最高的优先级,因而可以用于控制表达式的求值顺序。当多个括号嵌套出现时,位于内层的括号拥有更高的优先级。所谓结合性(Asscociativity),指的是运算符计算操作数的顺序:从左到右、未规定顺序、或者从右到左。在下面这个示例中,表达式是如何求值的呢?是先进行加法、乘法?还是先进行除法?又是以何种顺序呢:从左到右还是从右到左?示例6.2 (The Script) 1 $x = 5 + 4 * 12 / 4; 2 print "The result is $x "; (Output) 2 The result is 17解释: 1.本行的结合性是从左到右。乘法和除法的优先级高于加法与减法,而加法、减法的优先级又高于赋值运算符。为了说明上述关系,下面用括号组合了各个操作数。事实上,如果需要强制指定优先级,用户应当在操作数两边加上括号,并按照期望的求值顺序对操作数进行组合。  $x = ( 5 + ( ( 4 * 12 ) / 4 ) ); 2.对表达式求值,并打印结果到STDOUT。表6-2总结了Perl运算符的优先级和结合性规则。表中位于同一行的运算符具有相同的优先级,越靠前的行优先级越高。表6-2优先级和结合性运算符描述信息结合性() [] {}函数调用,数组下标左到右->反引用运算符左到右记住优先级规则的一个简单方法:Please Excuse My Dear Aunt Sally。它分别表示括号、乘幂、乘法、除法、加法和减法运算符。
pdf 文件大小:23.76MB