java中常见的运算符
1.|=
public static void q1() {
int a = 5; // 0000 0101
int b = 3; // 0000 0011
a |= b; // 0000 00111
//二进制两个都为0的时候,结果是0,否则是1
System.out.println("a->" + a);
System.out.println("b->" + b);
}
2.&=
public static void q2() {
int a = 5; // 0000 0101
int b = 3; // 0000 0011
a &= b;// 001
//二进制两个为1,结果是1
System.out.println("a->" + a);//1
System.out.println("b->" + b);
}
3.^=
public static void q3() {
int a = 5; // 0000 0101
int b = 3; // 0000 0011
//两个相同的时候为0
a ^= b;// 110 ->6
System.out.println("a->" + a);
System.out.println("b->" + b);
}
4.>>:带符号右移。正数右移高位补0,负数右移高位补1。比如:
4 >> 1,结果是2;-4 >> 1,结果是-2。-2 >> 1,结果是-1。
:无符号右移。无论是正数还是负数,高位通通补0。
总结:|= 规则是两个为0的运算结果是0,否则是1;
&=规则是两个位1的运算结果是1,否则是0;
^= 规则是两则相同的结果是0,否则是1