Java提供的主要移位运算符是什么?举例说明一下?

Java提供了三种移位运算符,即-

  • 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。

  • 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。

  • 右移零填充运算符。左操作数的值向右移动右操作数指定的位数,并且移位后的值用零填充。

示例

public class Test {
   public static void main(String args[]) {
      int a = 60;/* 60 = 0011 1100 */
      int b = 13;/* 13 = 0000 1101 */
      int c = 0;
      c = a << 2; /* 240 = 1111 0000 */
      System.out.println("a << 2 = " + c );
      c = a >> 2; /* 15 = 1111 */
      System.out.println("a >> 2 = " + c );
      c = a >>> 2; /* 15 = 0000 1111 */
      System.out.println("a >>> 2 = " + c );
   }
}

输出结果

a << 2 = 240
a >> 2 = 15
a >>> 2 = 15