单目:单目运算符+ –(负数) ++ -- 等
乘除:算数单目运算符* / % + -
为:位移单目运算符<< >>
关系:关系单目运算符> < >= <= == !=
逻辑:逻辑单目运算符&& || & | ^
三目:三目单目运算符A > B ? X : Y
后:无意义,仅仅为了凑字数
赋值:赋值=
关于 Java 运算符优先级顺序,首先Java 是强类型语言,运算符优先级有着严格的规定,先按优先级运行顺序运行,再从左到右运行。
在平时的Java运算开发中,其实最好还是带上括号,不过运算符的优先级,我们还是要非常了解,详情看下面的列表。
Java运算符优先级列表
优先级 | 运算符 | 简介 | 结合性 |
---|---|---|---|
1 | [ ] 、 . 、 ( ) |
方法调用,属性获取 | 从左向右 |
2 | !、~、 ++、 -- | 一元运算符 | 从右向左 |
3 | * 、/ 、% | 乘、除、取模(余数) | 从左向右 |
4 | + 、 - | 加减法 | 从左向右 |
5 | <<、 >>、 >>> | 左位移、右位移、无符号右移 | 从左向右 |
6 | < 、<= 、>、 >=、 instanceof | 小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型 |
从左向右 |
7 | == 、!= | 2个值是否相等,2个值是否不等于。 下面有详细的解释 |
从左向右 |
8 | & | 按位与 | 从左向右 |
9 | ^ | 按位异或 | 从左向右 |
10 | | | 按位或 | 从左向右 |
11 | && | 短路与 | 从左向右 |
12 | || | 短路或 | 从左向右 |
13 | ?: | 条件运算符 | 从右向左 |
14 | =、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>= | 混合赋值运算符 | 从右向左 |
Java算数运算符
+:加法,如:int a = 1+2;
-:减法,如:int a = 9-8;
*:乘法,如:int a = 8*9;
/:除法,如:int a = 8/9;
%:取余运算:int a = 10%2;
Java关系运算符
<:小于,如:int a = 1; if(a<0) //false
>:大于,如:int a = 1; if(a>0) //true
<=:小于等于,如:int a = 1; if(a<=1) //true
>=:大于等于,如:int a = 1; if(a>=1) //true
==:下面详细说明;
- 判断2个数值是否相等,比如:
int a = 0,b=1; if(a==b)//false
,注意:== 只能使用在基础类型中,以及对象和 null 比较的时候。 - 当对象和对象比较想使用‘==’来判断的时候,应该使用 equals 来判断。
Java运算符总结
其实在运算过程中,最好直接带上括号,如int a = 1; a = (a + 100) >>(a+1);
和 int a = 1; a = a + 100>>a+1;
结果都是25
,运算顺序也一样,前面的可读性更好吧?