运算符
算术运算符
操作符 | 描述 |
---|
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
++ | 自增 |
- - | 自减 |
关系运算符
运算符 | 描述 |
---|
== | 如果两个操作数的值相同,则为true |
!= | 如果两个操作数的值不同,则为true |
> | 如果左操作数的值大于右操作数的值,则为true |
< | 如果左操作数的值小于右操作数的值,则为true |
>= | 如果左操作数的值大于等于右操作数的值,则为true |
<= | 如果左操作数的值大于等于右操作数的值,则为true |
位运算符
操作符 | 描述 |
---|
& | 如果相对应位都是1,则结果为1,否则为0 |
| | 如果相对应位都是0,则结果为0,否则为1 |
^ | 如果相对应位值相同,则结果位0,否则为1 |
~ | 按位取反运算符翻转操作上的每一位,即0变成1,1变成0 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 |
逻辑运算符
操作符 | 描述 |
---|
&& | 逻辑与。当且仅当两个操作数都为真,结果为真。 |
|| | 逻辑或。两个操作数中任何一个为真,结果为真。 |
! | 逻辑非。用来反转操作数的逻辑状态。 |
赋值运算符
操作符 | 描述 |
---|
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 |
<< = | 左移位赋值运算符 |
>> = | 右移位赋值运算符 |
&= | 按位与赋值运算符 |
^ = | 按位异或赋值操作符 |
| = | 按位或赋值操作符 |
其他运算符
条件运算符(?:)
条件运算符也被称为三元运算符。该运算符有3个操作数,并且需要判断布尔表达式的值。该运算符的主要是决定哪个值应该赋值给变量。
instanceof 运算符
该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。
Java运算符优先级
类别 | 操作符 | 关联性 |
---|
后缀 | () [] . (点操作符) | 左到右 |
一元 | expr++ expr– | 从左到右 |
一元 | ++expr --expr + - ~ ! | 从右到左 |
乘性 | * /% | 左到右 |
加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
关系 | > >= < <= | 左到右 |
相等 | == != | 左到右 |
按位与 | & | 左到右 |
按位异或 | ^ | 左到右 |
按位或 | | | 左到右 |
逻辑与 | && | 左到右 |
逻辑或 | | | | 左到右 |
条件 | ?: | 从右到左 |
赋值 | = + = - = * = / =%= >> = << =&= ^ = | = | 从右到左 |
逗号 | , | 左到右 |