1

位运算符

位运算指的是可以按照二进制,八进制,十六进制进行数据处理。基本上考虑最多的还是二进制。在位运算之中,可以采用数据移位的处理方式实现一些数据的内容变化。
位运算实现的关键问题在于要进行十进制和二进制的转换,这种转换的原则是数据除2取余,一直除到余0为止,然后按照倒序排列。
知道了二进制的数据变化之后,我们就可以利用&(有一个0与的结果就是0),|(有一个1或的结果就是1)进行位的运算

public class Hello {
    public static void main(String args[]) {
        int numA = 19;
        int numB = 5;
        System.out.println(numA & numB);
    }
}
结果是1
19的二进制与5的二进制数进行与运算

public class Hello {
    public static void main(String args[]) {
        int numA = 19;
        int numB = 5;
        System.out.println(numA | numB);
    }
}
结果是23

位运算最大的特点是可以进行移位的处理

public class Hello {
    public static void main(String args[]) {
        int num = 2;
        System.out.println(num << 2);
    }
}
2的二进制向左移位,结果是8;
2的二进制 00000000 00000000 00000000 00000010;
移位处理  00000000 00000000 00000000 00001000;

八进制处理:

public class Hello {
    public static void main(String args[]) {
        int num = 023;
        System.out.println(num);
    }
}
结果是19

十六进制用0x。

面试题:请解释&&和&,|和||的区别?
在逻辑运算之中:
1.&&:表示逻辑与运算,如果前面有若干个条件返回了false,那么后面的条件将不再判断。最后结果就是false。
2.&:所有的判断条件都要执行。
3.||:表示逻辑或判断,若干个判断条件如果前面有条件返回了true,那么后续条件不再判断。最终结果就是true。
4.|:所有的条件都要判断。
位运算
&:运算的两个数据位,如果有一个位为零结果就是零,全为1时结果才是1。
|:运算的两个数据位,如果有一个位为1结果就是1。

欢迎加入学习交流群569772982,大家一起学习交流。


java部落
90 声望13 粉丝