Java优先级
运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到低的顺序是:
增量和减量运算
算数运算
位运算
关系运算
逻辑运算
赋值运算
具体优先级如下表
优先级 | 描述 | 运算符 |
---|---|---|
1 | 括号 | ()[]. |
2 | 一元运算符 | !、+(正)、-(负)~ 、++、-- |
3 | 乘、除、模 | *、/、% |
4 | 加减 | +、- |
5 | 移位运算 | <<、>>、>>> |
6 | 比较运算 | <、<=、>、>=、instanceof |
7 | 比较是否相等 | ==、!= |
8 | 按位与运算 | & |
9 | 按位异或运算 | ^ |
10 | 按位或运算 | | |
11 | 逻辑与运算 | && |
12 | 逻辑或运算 | || |
13 | 三元运算符 | ? : |
14 | 赋值运算符 | =、*=、/= 、%= |
15 | 复合赋值运算符 | +=、-=、<<=、>>= |
16 | 扩展赋值运算符 | >>>=、&=、^=、|= |
小技巧:在不确定优先级时使用()来确定运算的优先级!