Java 移位运算符用于将整数值向左或向右移动,有左移、右移和无符号右移三种类型。左移运算符将高位填充为 0,右移运算符的填充方式根据值是否有符号而定,无符号右移运算符始终将高位填充为 0。移位运算符的语法为: > 、 >>> 。
Java 移位运算符用法
Java 语言提供了移位运算符,用于将整数值向左或向右移位。移位运算符有以下几种:
- 左移运算符 (:将值向左移动指定位数。
- 右移运算符 (>>):将值向右移动指定位数。
- 无符号右移运算符 (>>>):将值向右移动指定位数,并将其解释为无符号整数。
用法
移位运算符的语法如下:
<值> << <位数> <值> >> <位数> <值> >>> <位数>
其中:
-
是要移位的整数。 -
是要移位的位数。
示例
以下示例说明了移位运算符的使用:
int x = 10; // 二进制: 00001010 // 左移 2 位 x = x << 2; // 二进制: 00101000 (10 * 4 = 40) // 右移 1 位 x = x >> 1; // 二进制: 00010100 (40 / 2 = 20) // 无符号右移 1 位 x = x >>> 1; // 二进制: 00001010 (同右移运算符)
注意事项
- 移位运算符仅适用于整数值。
- 左移运算符将高位填充为 0,而右移运算符的填充取决于值是否有符号。
- 无符号右移运算符永远将高位填充为 0,而有符号右移运算符将高位填充为值符号的扩展。









