Java中的移位运算符包括左移运算符(<<)、右移运算符(>>)和无符号右移运算符(>>>)。
左移运算符(<<)将一个数的二进制表示向左移动指定的位数,移出的位将被丢弃,右侧用0填充。
右移运算符(>>)将一个数的二进制表示向右移动指定的位数,移出的位将被丢弃,左侧用符号位填充。如果该数为正,则左侧用0填充;如果该数为负,则左侧用1填充。
无符号右移运算符(>>>)将一个数的二进制表示向右移动指定的位数,移出的位将被丢弃,左侧用0填充。
移位运算符的使用方式如下:
int a = 10;
int b = a << 2; // 左移2位,相当于将二进制表示的a向左移动2位
int c = a >> 1; // 右移1位,相当于将二进制表示的a向右移动1位
int d = a >>> 3; // 无符号右移3位,相当于将二进制表示的a向右移动3位,并用0填充左侧的空位
注意:移位运算符只能用于整数类型(byte、short、int和long),无法用于浮点数类型。