Java运算符(位运算符)

位运算符

  • 位运算指的是可以按照二进制,八进制,十六进制进行数据处理。基本上考虑最多的还是二进制。在位运算之中,可以采用数据移位的处理方式实现一些数据的内容变化。
  • 位运算实现的关键问题在于要进行十进制和二进制的转换,这种转换的原则是数据除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。

你可能感兴趣的:(Java运算符(位运算符))