算术运算符:
与数学中的算术运算一样。
操作符 | 描述 | 操作符 | 描述 |
---|---|---|---|
+ | 加法 - 相加运算符两侧的值 | - | 减法 - 左操作数减去右操作数 |
* | 乘法 - 相乘操作符两侧的值 | / | 除法 - 左操作数除以右操作数 |
% | 取余 - 左操作数除以右操作数的余数 | ++ | 自增:操作数的值增加1 |
- | 自减:操作数的值减少1 |
注:
- int b = ++ a;运算过程a = a + 1 = 3,b = a = 3,b = 4,a = 4
- int b = a ++;运算过程b = a = 3,a = a + 1 = 3,b = 3,a = 4
- int d = --c;运算过程c = c - 1 = 3,d = c = 3,d = 3,c = 3
- 前缀自增自减法(++ a, - a):先进行自增或者自减运算,再进行表达式运算
- 后缀自增自减法(a ++,a--):先进行表达式运算,再进行自增或者自减运算
关系运算符:
运算符 | 描述 | 运算符 | 描述 |
---|---|---|---|
== | 两个操作数的值如果相等,则条件为真 | != | 两个操作数的值如果不相等,则条件为真 |
> | 左操作数的值大于右操作数的值,则条件为真 | < | 左操作数的值小于右操作数的值,则条件为真 |
>= | 左操作数的值大于等于右操作数的值,则条件为真 | <= | 左操作数的值小于等于右操作数的值,则条件为真 |
位运算符:
操作符 | 描述 | 操作符 | 描述 |
---|---|---|---|
& | 相应的位都是1,则结果为1,否则为0 | | | 相应的位都是0,则结果为0,否则为1 |
^ | 相应的位值相同,则结果为0,否则为1 | 〜 | 按位取反,即0变1,1变 0 |
<< | 按位左移操作(最右边补0,个数为右操作的值) | >> | 按位右移操作(从最右边开始去掉位数,右操作数值是多少,去掉几位) |
>>> | 按位右移补0操作(最左边补0,个数为左操作的值) |
逻辑运算符:
操作符 | 描述 |
---|---|
&& | 逻辑与运算,当且仅当两个操作数都为真时,条件为真 |
|| | 逻辑或运算,两个操作数任一个为真,条件为真 |
! | 逻辑非运算,条件为true,逻辑运算为false |
赋值运算符:
操作符 | 描述 | 操作数 | 描述 |
---|---|---|---|
= | 赋值运算,将右操作的值赋值给做操作数 | + = | 加和赋值运算,将左操作和右操作相加赋值给左操作 |
- = | 减和赋值运算,将左操作和右操作相减赋值给左操作 | * = | 乘和赋值运算,将左操作和右操作相乘赋值给左操作 |
/ = | 除和赋值运算,将左操作和右操作相除赋值给左操作 | (%)= | 取模赋值运算,将左操作和右操作取模赋值给左操作 |
<< = | 左移位赋值运算符 | >> = | 右移位赋值运算符 |
&= | 按位与赋值运算符 | ^ = | 按位异或赋值操作符 |
| = | 按位或赋值操作符 |
条件运算符(?:):
variable x =(expression)?value if true:value if false
instancofe运算符:
用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)
(Object reference variable)instanceof(class/interface type)