Java运算符优先级
程序员文章站
2022-06-19 16:54:17
优先级运算符结合方向描述目数1[ ]、 .、 ( )从左向右方法调用,属性获取2+(正号)、-(负号)、!、~、 ++、 --从右向左一元运算符单目3* 、/ 、%从左向右乘、除、取模(余数)运算双目4+ 、 -从左向右加、减运算双目5<<、 >>、 >>>从左向右左移位运算符、带符号右移位运算符、无符号右移位运算符双目6< 、<= 、>、 >=......
优先级 | 运算符 | 结合方向 | 描述 | 目数 |
---|---|---|---|---|
1 |
[ ] 、 . 、 ( )
|
从左向右 | 方法调用,属性获取 | |
2 |
+(正号) 、-(负号) 、! 、~ 、 ++ 、 --
|
从右向左 | 一元运算符 | 单目 |
3 |
* 、/ 、%
|
从左向右 | 乘、除、取模(余数)运算 | 双目 |
4 |
+ 、 -
|
从左向右 | 加、减运算 | 双目 |
5 |
<< 、 >> 、 >>>
|
从左向右 | 左移位运算符、带符号右移位运算符、无符号右移位运算符 | 双目 |
6 |
< 、<= 、> 、 >= 、 instanceof
|
从左向右 | 小于、小于等于、大于、大于等于,判断某对象类型是否属于指定的类型 | 双目 |
7 |
== 、!=
|
从左向右 | 等于、不等于 | 双目 |
8 | & |
从左到右 | 按位与 | 双目 |
9 | | |
从左到右 | 按位或 | 双目 |
10 | ^ |
从左到右 | 按位异或 | 双目 |
11 | && |
从左到右 | 短路与 | 双目 |
12 | || |
从左到右 | 短路或 | 双目 |
13 | ? : |
从右到左 | 条件运算符 | 三目 |
14 |
= 、 += 、-= 、*= 、/= 、 %= 、&= 、 |= 、 ^= 、 <<= 、>>= 、>>>=
|
从右向左 | 混合赋值运算符 | 双目 |
一.单目运算符号具体说明:
1.正负号
正负号可以遵循负负得正的原则,如上图可以写成+-+
、-+-+-+-
正负号相交的方式,不能写成+++
、++
或--
同符号相连的方式,会报错,如下图:
两正号相连:
两负号相连:
代码示例:(偶数个负号为正)
public class DemoTest {
@Test
public void demoTest01() {
int i;
//-+-+-+-5 有四个负号,最终表示+5
i = +-+1 + -+-+-+-5;
System.out.println(i);
}
}
输出结果:
代码示例:(奇数个负号为负)
public class DemoTest {
@Test
public void demoTest01() {
int i;
//-+-+-+5 有三个负号,最终表示-5
i = +-+1 + -+-+-+5;
System.out.println(i);
}
}
输出结果:
2.按位非/取补运算
如上图,用二进制表示整型只写出了8位(1个字节),前面的24位(3个字节)没有写出会自动补零,也就是说11111100
实际上表示00000000 00000000 00000000 11111100
,按位非(或者说取补运算)后输出结果为:
二.综合举例:
上述中hasLength方法因为!=
和!
的运算符优先级高于&&
,所以上述的hasLength等价于下述示例:
输出结果:
本文地址:https://blog.csdn.net/MrYushiwen/article/details/112617759
上一篇: 2019年工厂制造业数字化转型的五大趋势
下一篇: Mysql 锁的类型
推荐阅读
-
java jdbc连接mysql_MySQL
-
php 三元运算符的使用介绍,php运算符_PHP教程
-
java.awt.headless 模式
-
Java方法重载和方法重写的区别到底在哪?
-
java.awt.headless 模式
-
《Java编程那些事儿》将结集出版 出版编程JavaGmail.net
-
微信大众开放平台开发02-微信公众平台PHP接口和java接口对比
-
java与javascript之间json格式数据互转介绍_javascript技巧
-
java强软弱虚四种引用
-
轻量级Java登录系统,类PHP风味和Java风味,轻量极速,支持Mysql和MariaDB JavaMySQLPHPGmail