温馨提示×

java运算符能进行位运算吗

小樊
81
2024-11-16 07:10:30
栏目: 编程语言

是的,Java中的运算符可以进行位运算。Java支持以下位运算符:

  1. 按位与(&):对应位都为1时结果为1,否则为0。
  2. 按位或(|):对应位有一个为1时结果为1,否则为0。
  3. 按位异或(^):对应位不同时结果为1,相同时为0。
  4. 按位取反(~):将每一位二进制数值取反,0变为1,1变为0。
  5. 左移(<<):将二进制数值向左移动指定的位数,右侧用0填充。
  6. 右移(>>):将二进制数值向右移动指定的位数,左侧用符号位填充。
  7. 无符号右移(>>>):将二进制数值向右移动指定的位数,左侧用0填充。

以下是一些使用位运算符的Java示例:

public class BitwiseOperations {
    public static void main(String[] args) {
        int a = 5; // 二进制表示为 0101
        int b = 3; // 二进制表示为 0011

        System.out.println("按位与: " + (a & b)); // 输出 1 (二进制表示为 0001)
        System.out.println("按位或: " + (a | b)); // 输出 7 (二进制表示为 0111)
        System.out.println("按位异或: " + (a ^ b)); // 输出 6 (二进制表示为 0110)
        System.out.println("按位取反: " + (~a)); // 输出 -6 (二进制表示为 1110)
        System.out.println("左移: " + (a << 2)); // 输出 20 (二进制表示为 10100)
        System.out.println("右移: " + (a >> 2)); // 输出 1 (二进制表示为 0001)
        System.out.println("无符号右移: " + (a >>> 2)); // 输出 14 (二进制表示为 00001110)
    }
}

0