Java运算符
1,位运算符:
位运算符:运算的数据都是二进制的数据(需要把数据先转换成二进制的数据)
& 与运算:
public static void main(String[] args){
int num=10,num1=2;
int result=num&num1;
//输出结果为二
System.out.println(result);
}
求位与运算 与运算 : 首先要把数据转换成二进制的数据 每一位进行运算。
&运算规则:1和1得1,0和0得0,0和1得0.
num: 00001010
num1 : 00000010
结果:00000010 ——>2
| 或位运算
|运算规则:1和1得1,1和0得1,0和0得0
int num=10,num1=2;
int result=num|num1;
//输出结果是10
System.out.println(result);
num:00001010
num1:00000010
结果:00001010——>10
^ 位的异或运算
规则:位与位之间相同的为0,不同的为1.
int num=10,num1=2;
int result=num^num1;
//输出的结果为8
System.out.println(result);
num :00001010
num1:00000010
结果:00001000——>8
~ 位取反(符号(正负))
规则:加一取负
int num=10;
int result=~num;
//输出结果为-11
System.out.println(result);
注意:是一个单目运算符(eg:++,–,!,~)
>> 位的右移
int num=10;
int result=num>>2;
//输出结果是2
System.out.println(result);
1: >>表示向右移动
2: >>x,x表示移动x位
00001010>>2 ——>00000010 :2
<<左位移
同右