运算符的优先集

当表达式包含多个运算符时,运算符的优先级控制着各个运算符执行的顺序。例如,表达式“a+b/c”按“a+(b/c)”计算,因为操作符“/”的优先级比“+”高。运算符的优先级及结合性见表1所示。

1                                运算符的优先级与结合性

类别

运算符

优先级

结合性

基本

x.yf(x)a[x]x++x--newtypeofcheckedunchecked

1

自右向左

单目

+-!~++--(T)x~

2

自左向右

乘除

*, /, %

3

自左向右

加减

+, -

4

自左向右

移位

<<, >>

5

自左向右

比较

<, >, <=, >=, is, as

6

自左向右

相等

==, !=

7

自左向右

位与

&

8

自左向右

位异或

^

9

自左向右

位或

|

10

自左向右

逻辑与

&&

11

自左向右

逻辑或

||

12

自左向右

条件

?:

13

自右向左

赋值

=, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=

14

自右向左