运算符的分类
运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。
算术运算符
- 单目:
~
(按位取反)、!
(取非)、-
(负号运算符)、++
(自增)、--
(自减) - 双目:
+
(加)、-
(减)、*
(乘)、/
(除)、%
(取余) - 三目:
a > b ? true : false
(当 a 大于 b 的时候,为 true,否则为 false;这整个运算符包括一个关系运算符(可以是“>
”,“<
”,“!=
”等等),一个“?
”,一个“:
”,冒号前后需要有两个表达式、值或者是对象。)
赋值运算符
=
+=
-=
*=
/=
%=
&=
^=
|=
<<=
>>=
关系运算符
关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型(boolean布尔类型)的数值。
- 等于符号:
==
- 不等于符号:
!=
- 大于符号:
>
- 小于符号:
<
- 大于等于符号:
>=
- 小于等于符号:
<=
逻辑运算符
- 与(&&)
对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。 所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。 对于&&运算来说,只要运算符左端的值为false,则因无论运算符右端的值为true或为false,其最终结果都为false。 - 或(||)
对于 || 运算来说,只要运算符左端的值为true,则因无论运算符右端的值为true或为false,其最终结果都为true。 所以,系统一旦判断出|| 运算符左端的值为true,则系统将终止其后的计算过程。 - 非(!)
位运算符
- 与(&)
&
:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结果为0。如:1010 & 1101
,转为二进制:1111110010 & 10001001101
,比较结果为:1000000转为十进制: 64。所以1010&
1101 = 64;
- 非(~)
~
:按位取反,0变1,1变0
- 或(|)
|
:当两边操作数的位有一边为1时,结果为1,否则为0。如1100|
1010 = 1110
- 异或(^)
^
:两边的位不同时,结果为1,否则为0.如1100^
1010 = 0110
其他运算符
-
instanceof
该运算符是双目运算符,左面的操作元是一个对象,右面是一个类或接口。当左面的对象是右面的类(或右边类的子孙类)创建的对象、或者是右边接口的实现类(或实现类的子孙类)的对象时,该运算符运算结果是true,否则是false。
位移 -
<<
带符号左移 -
>>
带符号右移 -
>>>
无符号右移
来源:CSDN
作者:MCJPAO
链接:https://blog.csdn.net/MCJPAO/article/details/103866062