public class IndentifierTest01{
public static void main(String[] args) {
int a = 3;
int b = 4;
System.out.println(a&b);//按位与
System.out.println(a|b);//按位或
System.out.println(a^b);//按位异或
System.out.println(~a);//取反
//移位
int c = 3<<2;//相当于3*2*2
System.out.println(c);
System.out.println(12>>1);//相当于12/2}
}
运行结果:
0 7 7 -4 12 6
1.与运算符,&:只有前后两个运算都为1时,结果才为1.
a: 0011 b: 0010 a&b=0010
2.或运算符,|:有1位为1,结果便为1。
a: 0011 b: 0010 a|b=0011
3.异或运算符,^:不相同则为1.
a: 0011 b: 0010 a^b=0001
4.取反运算符,~:1变0,0变1.
a: 0011 ~a= 1100 b: 0010 ~b= 1101
5.移位运算符,<<, >> : 左移乘2,右移除2,如果超出,则舍弃。
a<<5 移前:0000 1111 = 15 移后:1110 0000 = 224

京公网安备 11010502036488号