- //1、&= 与运算二进制中,只有相同才是1
- a=2;
- a&=3;(a=a&3) 同2&3;结果都是2
- //2、|= 非运算 二进制中只要一个为1就为1
- a = 4;
- b = 2;
- a |= b; (a=a|b)
- System.out.println("a: "+a);
- //3、^= 异或运算 二进制中只要是两者的值不一样那么就是1
- a = 4;
- b = 2;
- a ^= b;(a=a^b)
- System.out.println("a: "+a);
- //4、<<= 移位运算 相当于是a = a * Math.pow(2,b);
- a = 4;
- b = 2;
- a <<= b; a=4*2*2
- System.out.println("a: "+a);
- // a<<b:a*(2的b次方)
- //5、>>= 移位运算 相当于是a = a / Math.pow(2,b);
- a = 4;
- b = 2;
- a >>= b; a=4/(2*2)
- System.out.println("a: "+a);
- // a>>b:a/(2的b次方)
- //6、~ 非运算 二进制所有的位数取反;
- a = 4;
- b = 2;
- a = ~a;
- b = ~a;
- System.out.println("a: "+a+" b: "+b);
- //7、>>>= 移位运算 二进制统一向右移 b位,左边不管是什么都用0代替,这是与 >>的区别;
- a = 4;
- b = 2;
- a >>>= b;
- System.out.println("a: "+a+" b: "+b);
- System.out.println(8>>>1);