1 基本运算符:
算术运算符
操作符 | 描述 | |
+ | 加法 - 相加运算符两侧的值 | A+B |
- | 减法 - 左操作数减去右操作数 | A-B |
* | 乘法 - 相乘操作符两侧的值 | A*B |
/ | 除法 - 左操作数除以右操作数 | A/B |
% | 取模 - 右操作数除左操作数的余数 | A%B |
+ + | 自增 - 操作数的值增加1 | A++ |
- | 自减 - 操作数的值减少1 | B-- |
关系运算符
操作者 | 描述 | |
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B) |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A = B) |
> | 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B) |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B) |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B) |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B) |
位运算符
操作符 | 描述 | |
& | 按位与操作符,当且仅当两个操作数的某一位都非0时候结果的该位才为1。 | (A&B) |
| | 按位或操作符,只要两个操作数的某一位有一个非0时候结果的该位就为1。 | (A | B) |
^ | 按位异或操作符,两个操作数的某一位不相同时候结果的该位就为1。 | (A ^ B) |
? | 按位补运算符翻转操作数的每一位。 | (?A) |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2 |
逻辑运算符
操作符 | 描述 | |
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B) |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B) |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | (!A ) |
赋值运算符
操作符 | 描述 | |
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B |
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A |
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A |
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A |
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A等价于C = C / A |
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A |
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 |
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 |
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 |
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 |
| = | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
其他运算符:
逗号运算符 ,
条件运算符 ?:
instanceof运算符 ( Object reference variable ) instanceOf (class/interface type)
2 优先级
类别 | 操作符 | 关联性 |
后缀 | () [] . (点操作符) | 左到右 |
一元 | + + - !? | 右到左 |
乘性 | * /% | 左到右 |
加性 | + - | 左到右 |
移位 | >> >>> << | 左到右 |
关系 | >> = << = | 左到右 |
相等 | == != | 左到右 |
按位与 | & | 左到右 |
按位异或 | ^ | 左到右 |
按位或 | | | 左到右 |
逻辑与 | && | 左到右 |
逻辑或 | | | | 左到右 |
条件 | ?: | 右到左 |
赋值 | = + = - = * = / =%= >> = << =&= ^ = | = | 右到左 |
逗号 | , | 左到右 |