Java运算符

算术运算符

+、-、*、/、%、++、--

除法算术运算符(/):两边都是整数时,结果保留整数部分,是一个整数;当一边为浮点数时,结果为浮点数。除数不能为0.

取余算术运算符(%):两边必须是整数,结果为相除的余数。

自增算术运算符(++):++在前,先加一再带入计算;++在后,先带入计算再对自身加1.

自减算术运算符(--):--在前,先减一再带入计算;--在后,先带入计算再对自身减一。

关系运算符

也称为比较运算符,包括:==、!=、>、<、>=、<=

位运算符

&、|、^、~、<<、>>、>>>

&和|的两个操作数可以是非同类型的。

按位与(&):有0为0,否则为

按位或(|):有1为1,否则为0

按位异或(^):不同为1,相同为0

按位取反(~):0变1,1变0

按位左移(<<):低位补0

按位右移(>>):高位补符号位

按位右移补零(>>>):高位补0

逻辑运算符

&&、||、!

&&和||都是短路逻辑运算符,即当&&前判断为false或者||前判断为true,则不再运算&&和||之后的条件式。

注意英文!和中文的!是不同的。

赋值运算符

=、+=、-=、*=、/=、%=、<<=、>>=、&=、^=、|=

赋值运算符除了=本身就是算术运算符或位运算符与=结合。

其它运算符

条件运算符

也称为三元运算符,根据布尔表达式的值判断取前后哪一个值。

variable x=(expression)?value if true:value if false

instanceof运算符

用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)

(Object reference variable) instanceof (class/interface type)

如果被比较的对象兼容于右侧类型,该运算符仍然返回true。

运算符的优先级

类别 操作符
后缀 ()[].(点操作符)
一元 ++-!~
乘性 */%
加性 +-
移位 >> >>> <<
关系 > >= < <=
相等 == !=
按位与 &
按位异或 ^
按位或 |
逻辑与 &&
逻辑或 ||
条件 ?:
赋值 =
逗号 ,

最高优先级在表的最上面。

第一层:()、[]和点操作符.

第二层:一元操作符++、--、!、~

第三层:乘性(*、/和%优先),加性(+、-),移位(>>、>>>、<<),关系(>、>=、<、<=),相等(==、!=)

第四层:按位与&、按位异或^、按位或|、逻辑与&&、逻辑或||,优先级依次降低

第五层:条件(?:)、赋值=,逗号(,)优先级依次降低

原文地址:https://www.cnblogs.com/blunFan/p/11665874.html