1. <<(向左位移) 针对二进制,转换成二进制后向左移动2位,后面用0补齐

10的二进制1010

0000 0000 0000 0000 0000 0000 0000 1010 ---32位

0000 0000 0000 0000 0000 0000 0010 1000

System.out.println(10 << 2);//1010 =40

2. >>(向右位移) 针对二进制,转换成二进制后向右移动2位,操作数移除右边界的位被屏蔽 正数高位

补0 负数补1

10的二进制1010

0000 0000 0000 0000 0000 0000 0000 1010

System.out.println(10 >> 2);//10=2

3. >>>(不带符号右移) 针对二进制,转换成二进制后向右移动2位,操作数移除右边界的位被屏蔽

正数高位 补0 负数补0


异或运算^ 针对二进制,相同的为0,不同的为1

0010 --2

0011 --3

0001 --1

4. &(与运算) 针对二进制,00的0 11的1 10 的0

0010--2

0011--3

0010--2