运算符的优先级
在对一些比较复杂的表达式进行计算时,要明确表达式中所有运算符参与运算的先后顺序,这种顺序称作运算符的优先级。
运算符优先级口诀
虽然运算符优先级的规则较多,但可以借助口诀来帮助记忆,完整口诀是“单算移关与,异或逻条赋”,具体解释如下所示。
1.“单”表示单目运算符,例如逻辑非运算符(!)、按位取反运算符(~)、自增运算符(++)、自减运算符(--)、取地址运算符(&)、取值运算符(*)。
2.“算”表示算术运算符,乘、除、取模运算符(*、/、%)的优先级高于加、减运算符(+、-)的优先级。
3.“移”表示位左移(<<)和位右移(>>)运算符。
4.“关”表示关系运算符,大小关系运算符(>、>=、<、<=)的优先级高于相等、不相等关系运算符(==、!=)的优先级。
5.“与”表示按位与运算符(&)。
6.“异”表示按位异或运算符(^)。
7.“或”表示按位或运算符(|)。
8.“逻”表示逻辑运算符,逻辑与运算符(&&)的优先级高于逻辑或运算符(||)的优先级。
9.“条”表示条件运算符(?:)。
10.“赋”表示赋值运算符(=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=)。
注意:
1.单目运算符的优先级高于双目运算符的优先级。
2.先算&&后算||。
3.赋值运算符的优先级很低。