关于 Java 运算符优先级顺序,首先Java是强类型语言,运算符优先级有着严格的规定,先按优先级运行顺序运行,再从左到右运行。
在平时的Java运算开发中,其实最好还是带上括号,不过运算符的优先级,我们还是要非常了解,详情看下面的列表。
优先级 | 运算符 | 简介 | 结合性 |
---|---|---|---|
1 | [ ] 、 . 、 ( ) | 方法调用,属性获取 | 从左向右 |
2 | !、~、 ++、 -- | 一元运算符 | 从右向左 |
3 | * 、/ 、% | 乘、除、取模(余数) | 从左向右 |
4 | + 、 - | 加减法 | 从左向右 |
5 | <<、 >>、 >>> | 左位移、右位移、无符号右移 | 从左向右 |
6 | < 、<= 、>、 >=、 instanceof | 小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型 | 从左向右 |
7 | == 、!= | 2个值是否相等,2个值是否不等于。 下面有详细的解释 | 从左向右 |
8 | & | 按位与 | 从左向右 |
9 | ^ | 按位异或 | 从左向右 |
10 | | | 按位或 | 从左向右 |
11 | && | 短路与 | 从左向右 |
12 | || | 短路或 | 从左向右 |
13 | ?: | 条件运算符 | 从右向左 |
14 | =、 += 、-= 、*= 、/=、 %=、 &=、 |=、 ^=、 <、<= 、>、>= 、>>= | 混合赋值运算符 | 从右向左 |
+:加法,如:int a = 1+2;
-:减法,如:int a = 9-8;
*:乘法,如:int a = 8*9;
/:除法,如:int a = 8/9;
%:取余运算:int a = 10%2;
<:小于,如: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
==:下面详细说明;
int a = 0,b=1; if(a==b)//false
,注意:== 只能使用在基础类型中,以及对象和 null 比较的时候。其实在运算过程中,最好直接带上括号,如int a = 1; a = (a + 100) >>(a+1);
和 int a = 1; a = a + 100>>a+1;
结果都是25
,运算顺序也一样,前面的可读性更好吧?
站长也是Java攻城师,博客地址:https://www.sojson.com/blog/
更新时间:2023-09-25 09:35:22
综合技术交流:点击加入--> [SO JSON官方交流①群][收费]
综合技术交流:点击加入--> [SO JSON官方交流②群][免费]
要求:不能发广告、暴力、政治、付费教程,违者直接踢出。
备注:入群费用5元,没有QQ钱包,可以先支付宝
or 微信
扫码支付5元赞助后,我拉您进去。QQ联系我。
扫码赞助:赞助二维码。
技术交流QQ群:①群259217951,②群166848545
站长邮箱:so@sojson.com
对页面内容有任何疑问和建议,请联系我们。
所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看
正在加载... ...