Java运算符优先级(转)
Java运算符优先级
序列号 |
符号 |
名称 |
结合性(与操作数) |
目数 |
说明 |
1 |
. |
点 |
从左到右 |
双目 |
|
( ) |
圆括号 |
从左到右 |
|||
[ ] |
方括号 |
从左到右 |
|||
2 |
+ |
正号 |
从右到左 |
单目 |
|
- |
负号 |
从右到左 |
单目 |
||
++ |
自增 |
从右到左 |
单目 |
前缀增,后缀增 |
|
- - |
自减 |
从右到左 |
前缀减,后缀减 |
||
~ |
按位非/取补运算 |
从右到左 |
单目 |
||
! |
逻辑非 |
从右到左 |
单目 |
“!”不可以与“=”联用 |
|
3 |
* |
乘 |
从左到右 |
双目 |
|
/ |
除 |
从左到右 |
双目 |
整数除法:取商的整数部分,小数部分去掉,不四舍五入 |
|
% |
取余 |
从左到右 |
双目 |
||
4 |
+ |
加 |
从左到右 |
双目 |
|
- |
减 |
从左到右 |
双目 |
||
5 |
<< |
左移位运算符 |
从左到右 |
双目 |
|
>> |
带符号右移位运算符 |
从左到右 |
双目 |
||
>>> |
无符号右移 |
从左到右 |
双目 |
||
6 |
< |
小于 |
从左到右 |
双目 |
关系运算符“大于”说明 |
<= |
小于或等于 |
从左到右 |
双目 |
||
> |
大于 |
从左到右 |
双目 |
||
>= |
大于或等于 |
从左到右 |
双目 |
||
instanceof |
确定某对象是否属于指定的类 |
从左到右 |
双目 |
||
7 |
== |
等于 |
从左到右 |
双目 |
关系运算符“==”说明 |
!= |
不等于 |
从左到右 |
双目 |
||
8 |
& |
按位与 |
从左到右 |
双目 |
|
9 |
| |
按位或 |
从左到右 |
双目 |
|
10 |
^ |
按位异或 |
从左到右 |
双目 |
|
11 |
&& |
短路与 |
从左到右 |
双目 |
|
12 |
|| |
短路或 |
从左到右 |
双目 |
|
13 |
? : |
条件运算符 |
从右到左 |
三目 |
|
14 |
= |
赋值运算符 |
从右到左 |
双目 |
|
+= |
混合赋值运算符 |
||||
-= |
|||||
*= |
|||||
/= |
|||||
%= |
|||||
&= |
|||||
|= |
|||||
^= |
|||||
<<= |
|||||
>>= |
|||||
>>>= |
说明:
1、算数运算符
+ :加法
- :减法
* :乘法
/ :除法
% :取余运算
2、关系运算符
< :只能比较基本类型数据之间的关系,不能比较对象之间的关系。
> : (同关系运算符“<”)
<=: (同关系运算符“<”)
>=: (同关系运算符“<”)
== :若使用该运算符比较两个对象的引用(变量),则实质上是比较两个变量是否引用了相同的对象。所谓相同的对象是指,是否是在堆栈(Heap)中开辟的同一块儿内存单元中存放的对象。
若比较两个对象的引用(变量)所引用的对象的内容是否相同,则应该使用equals()方法,该方法的返回值类型是布尔值。需要注意的是:若用类库中的类创建对象,则对象的引用调用equals()方法比较的是对象的内容;若用自定义的类来创建对象,则对象的引用调用equals()方法比较的是两个引用是否引用了同一个对象,因为第二种情况equals()方法默认的是比较引用。
!= :(同关系运算符“==”)
3、逻辑运算符 (操作符只能是布尔类型的)
&&
||
!
1 public class Demo {2 public static void main(String[] args) {3 // System.out.println((!'1'||'1')+5);//编译错误4 // System.out.println(!5);//编译错误5 // System.out.println(('1'||'1')+5);//编译错误6 // System.out.println(1||2);//编译错误7 // System.out.println(5-3||4-2);//编译错误8 System.out.println(5<3||4>3);//true9 } 10 }
4、位运算符
&
|
^
! :不可以与=联用,因为!是一元操作符;不可以对布尔类型的数据进行按位非运算
5、移位运算符(只能处理整数运算符)
Char、byte、short类型,在进行移位之前,都将被转换成int类型,移位后的结果也是int类型;移位符号右边的操作数只截取其二进制的后5位(目的是防止因为移位操作而超出int类型的表示范围:2的5次方是32,int类型的最大范围是32位);对long类型进行移位,结果仍然是long类型,移位符号右边的操作符只截取其二进制的后6位。
<< :
>> :若符号位为正,则在最高位插入0;若符号位为负,则在最高位插入1
>>> :无论正负,都在最高位插入0
1 public class Demo {2 public static void main(String[] args) {3 // 0000 0000 0000 01014 // 0000 0000 0000 00105 System.out.println(5>>1);//26 // 0000 0000 0000 10007 // 0000 0000 0000 01008 System.out.println(8>>1);//49 System.out.println(3+5>>1);//4 10 System.out.println(3+(5>>1));//5 11 } 12 }
http://www.cnblogs.com/gw811/archive/2012/10/13/2722752.html
转载于:https://www.cnblogs.com/softidea/p/5300154.html
Java运算符优先级(转)相关推荐
- java 运算符优先级
java 运算符优先级 在表达式中,那个运算符先执行后执行是要看优先级的,例如"*,/"的优先级高于"+,-". 优先级 运算符 1 () 2 !,++,– 3 ...
- Java运算符优先级顺序
Java运算符优先级顺序 图集说明: 1.算数运算符 补充两个: 单目运算符 正号 +10 10 单目运算符 负号 n=10;-n; -10 (1)除法规则 / 若两个操作数都是整型,结果也是整型,除 ...
- java与或优先级,Java 运算符优先级
Java 运算符优先级 优先级 运算符 名称 1 ( ) 括号 2 [ ] , . 后缀运算符 3 - (一元运算符,取负数) , ! , ~ , ++ , -- 一元运算符 4 * , / , % ...
- Java 运算符和Java运算符优先级
Java 运算符和Java运算符优先级 Java 运算符 算术运算符 关系运算符 逻辑运算符 赋值运算符 条件运算符(?:) 位运算符 Java运算符优先级 Java 运算符 我们可以把运算符分成以下 ...
- java运算符优先级
Java 语言中运算符的优先级共分为 14 级,其中 1 级最高,14 级最低.在同一个表达式中运算符优先级高的先执行. 有一个口诀: 单目乘除为关系,逻辑三目后赋值. 单目:单目运算符+ –(负数 ...
- Java运算符优先级介绍!
运算符丰富是 Java 语言的主要特点之一,它提供的运算符数量之多,在高级语言中是少见的.那么当多个运算符出现在一个表达式中,谁先谁后呢? 这就涉及到运算符的优先级别的问题.在一个多运算符的表达式中, ...
- Java教程:Java运算符优先级
本篇文章由 泉州SEO www.234yp.com 整理发布,Java教程 www.234yp.com/Article/198113.html 谢谢合作! Java教程所有的数学运算都认为是从左向右运 ...
- java运算符(java运算符优先级由高到低)
java运算符是什么? 一.算术运算符:单目:+(取正)-(取负) ++(自增1) - -(自减1) 双目:+ - * / %(取余) 三目:a>b?true:false 说明:当a大于b的时候 ...
- Java运算符优先级和表达式及数据类型转换
计算机程序在处理数据时会进行大量的计算,而数据的运算则需要借助运算符和表达式来完成. 表达式是指由操作数和运算符组成的用于完成某种运算功能的语句 子表达 ...
最新文章
- Qt实现 指针式时钟+动态时钟 (详细注释)
- 抽象工厂与工厂模式例子
- 为什么LINKBUTTON不能插在LTEMTEMPLATE里???
- 计算机学校推荐专科,专科计算机专业学校推荐
- BZOJ 4706: B君的多边形 找规律
- C#图片按指定大小分割
- zookeeper安装和使用 windows环境
- android datepicker 参数设置,如何在Android DatePicker中设置最小和最大日期?
- 使用Java编一个有意思的_一个有趣的Java编译问题
- 上传文件到阿里云OSS报错-Unable to execute HTTP request: You have no right to access this object because of buc
- 第00次博文——我对Python的期待与思考
- sql基础知识第二部分
- python dataframe去除重复项_python - Pandas DataFrame处理查找DataFrame中的重复项 - 堆栈内存溢出...
- 怎没使用新浪微博html5,如何使用新浪微博
- OpenCV Mat类的convertTo函数,数据类型转换
- 使用win10开启wifi移动热点解决软媒wifi助手开启失败问题
- 借助YunOS ,开发技术、运营能力大幅提升
- absolute位置用法html,html/css中相对定位relative和绝对定位absolute的用法
- 机器学习告诉你,新型冠状病毒接下来将如何变异?
- osgEarth示例分析——osgearth_manip