& (按位与)
&按位与的运算规则,是将两边的数转换为二进制位,(两个为真才为真)。
1&1=1 , 1&0=0 , 0&1=0 , 0&0=0
测试一下
public class OperatorTest {
public static void main(String[] args) {
int i1 = 3 & 5;
System.out.println(i1);
int i2 = 1280 & 0xff;
System.out.println(i2);
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/b38342036dfc622d04185444472c5cd0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/aa9172a8e499dafdbdf1550eab61f3be.jpeg)
>> (右移运算符)
int i3 = 11 >> 2;
System.out.println(i3); //2
int i4 = 1280 >> 8;
System.out.println(i4); //5 101 0000 0000右移动8位,是101,10进制是5。
![](https://i-blog.csdnimg.cn/blog_migrate/50595c56ba6edcce6cb6cc03b9ab8fcc.jpeg)
~ (取反运算符)
System.out.println(~10); //-11
System.out.println(~1); //-2
System.out.println(~2); //-3
System.out.println(~3); //-4