运算符的优先级
在一个表达式中可能包含多个有不同运算符连接起来的、具有不同数据类型的数据对象;由于表达式有多种运算,不同的结合顺序可能得出不同结果甚至出现错误运算错误,因为当表达式中含多种运算时,必须按一定顺序进行结合,才能保证运算的合理性和结果的正确性、唯一性。
优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。表达式的结合次序取决于表达式中各种运算符的优先级。优先级高的运算符先结合,优先级低的运算符后结合,同一行中的运算符的优先级相同。
运算符的优先级(从高到低)
优先级 | 描述 | 运算符 | ||
---|---|---|---|---|
1 | 括号 | ()、[] | ||
2 | 正负号 | +、- | ||
3 | 自增自减,非 | ++、—、! | ||
4 | 乘除,取余 | *、/、% | ||
5 | 加减 | +、- | ||
6 | 移位运算 | <<、>>、>>> | ||
7 | 大小关系 | >、>=、<、<= | ||
8 | 相等关系 | ==、!= | ||
9 | 按位与 | & | ||
10 | 按位异或 | ^ | ||
11 | 按位或 | \ | ||
12 | 逻辑与 | && | ||
13 | 逻辑或 | \ | \ | |
14 | 条件运算 | ?: | ||
15 | 赋值运算 | =、+=、-=、*=、/=、%= | ||
16 | 位赋值运算 | &=、\ | =、<<=、>>=、>>>= |
如果在程序中,要改变运算顺序,可以使用()。