java中>>和>>>有什么区别
时间: 2024-01-11 16:20:12 浏览: 86
java中==和equals的区别
在Java中,>>和>>>都是位运算符,它们的主要区别在于处理符号位的方式不同。
>>是算术右移运算符,它将二进制数向右移动,并用原来的符号位填充左侧的空位。例如,-2 >> 1的结果是-1,因为-2的二进制表示是11111110,右移一位后变成11111111,这是-1的二进制表示。
>>>是逻辑右移运算符,它将二进制数向右移动,并用0填充左侧的空位。例如,-2 >>> 1的结果是2147483647,因为-2的二进制表示是11111111111111111111111111111110,右移一位后变成01111111111111111111111111111111,这是2147483647的二进制表示。
下面是一个简单的例子,演示了>>和>>>的区别:
```java
int a = -2;
System.out.println(a >> 1); // 输出:-1
System.out.println(a >>> 1); // 输出:2147483647
```
阅读全文