Java运算符优先级
序列号
符号
名称
结合性(与操作数)
目数
说明
1
.
点
从左到右
双目
( )
圆括号
从左到右
[ ]
方括号
从左到右
2
+
正号
从右到左
单目
-
负号
从右到左
单目
++
自增
从右到左
单目
前缀增,后缀增
- -
自减
从右到左
前缀减,后缀减
~
按位非/取补运算
从右到左
单目
!
逻辑非
从右到左
单目
“!”不可以与“=”联用
3
*
乘
从左到右
双目
/
除
从左到右
双目
整数除法:取商的整数部分,小数部分去掉,不四舍五入
%
取余
从左到右
双目
4
+
加
从左到右
双目
-
减
从左到右
双目
5
带符号右移位运算符
从左到右
双目
>>>
无符号右移
从左到右
双目
6
=
大于或等于
从左到右
双目
instanceof
确定某对象是否属于指定的类
从左到右
双目
7
==
等于
从左到右
双目
关系运算符“==”说明
!=
不等于
从左到右
双目
8
&
按位与
从左到右
双目
9
|
按位或
从左到右
双目
10
^
按位异或
从左到右
双目
11
&&
短路与
从左到右
双目
12
||
短路或
从左到右
双目
13
? :
条件运算符
从右到左
三目
14
=
赋值运算符
从右到左
双目
+=
混合赋值运算符
-=
*=
/=
%=
&=
|=
^=
=
>>>=
说明:
1、算数运算符
+ :加法
- :减法
* :乘法
/ :除法
% :取余运算
2、关系运算符
< :只能比较基本类型数据之间的关系,不能比较对象之间的关系。
> : (同关系运算符“> :无论正负,都在最高位插入0
1 public class Demo { 2 public static void main(String[] args) { 3 // 0000 0000 0000 0101 4 // 0000 0000 0000 0010 5 System.out.println(5>>1);//2 6 // 0000 0000 0000 1000 7 // 0000 0000 0000 0100 8 System.out.println(8>>1);//4 9 System.out.println(3+5>>1);//410 System.out.println(3+(5>>1));//511 }12 }