Java运算符
一.算术运算符
1. + - * / % ++ --
2. d=++c; //先递增,再赋值
d=c++; //先赋值,在递增
二.赋值运算符
1. = += -= *= /= %= //遵循自右向左的结合性
三.逻辑运算符
运算符 | 运算 | 范例 | 结果 |
& | AND(与) | false&true | false |
&& | AND(短路与) | false&&true | false |
| | OR(或) | false|true | true |
|| | OR(短路或) | false||true | true |
^ | XOR(异或) | false^true | true |
! | Not(非) | !true | false |
注:
1.&和&&的区别在于:&两边的表达式都参与计算。当&&的左边为false,则将不会计算其右边的表达式。
2.|和||的区别在于:|两边的表达式都参与计算。当||的左边为true,则将不会计算其右边的表达式。
四.关系运算符
> >= < <= == !=
五.位运算符
运算符 | 描述 | 用法 |
~ | 换位取反 | X=~y |
& | 按位与 | X&64 |
| | 按位或 | X|32 |
^ | 按位异或 | X^32 |
>> | 右移(带符号) | X>>2 |
<< | 左移(带符号) | X<<3 |
>>> | 无符号右移 | X>>>2 |
六.其他运算符
运算符 | 描述 | 示例 |
. | 分量符 | Person.eat() |
[] | 下标符 | arr[5] |
( ) | 强制类型转换 | a=(byte)b |
new | 创建对象 | int[] i =new int[6] |
instanceof | 对象操作 | if(A instanceof B) |
七.原码,反码,补码
1. 正数的原反补都一样
2. 负数的原码符号位为1,其他位和正数一样。
负数反码除了符号位不变,其他位为负数原码取反。
负数的补码是它的反码+1