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