Java中的运算符优先级决定了在一个表达式中,各个运算符的计算顺序。优先级越高的运算符,其计算顺序越靠前。以下是一些常见运算符的优先级排序(从高到低):
-
算术运算符:
- 括号:
()
- 指数:
**
- 取模:
%
- 乘法、除法:
*
,/
- 加法、减法:
+
,-
- 括号:
-
位运算符:
- 按位与:
&
- 按位异或:
^
- 按位或:
|
- 左移:
<<
- 右移:
>>
- 无符号右移:
>>>
- 按位与:
-
关系运算符:
- 大于:
>
- 小于:
<
- 大于等于:
>=
- 小于等于:
<=
- 相等:
==
- 不相等:
!=
- 大于:
-
逻辑运算符:
- 逻辑与:
&&
- 逻辑或:
||
- 逻辑非:
!
- 逻辑与:
-
三元条件运算符:
- 条件:
? :
- 条件:
-
赋值运算符:
- 赋值:
=
- 加法赋值:
+=
- 减法赋值:
-=
- 乘法赋值:
*=
- 除法赋值:
/=
- 取模赋值:
%=
- 左移赋值:
<<=
- 右移赋值:
>>=
- 无符号右移赋值:
>>>=
- 赋值:
注意:括号可以改变运算符的优先级,使得表达式中的某部分优先计算。例如,a * (b + c)
中,括号内的加法会优先计算。