Java >>>运算符
可能重复:
>>>和>>之间的区别
有人可以解释>>>
运算符在Java中的作用。 我在这个问题中遇到了它,HashMap中的Hash方法 。 从它在问题中的用法来看,它似乎是一个移位运算符 – >>>
和>>
之间的区别是什么?
来自Java教程 :
无符号右移运算符“>>>”将零移动到最左侧位置,而“>>”之后的最左侧位置取决于符号扩展。
您可以通过简单的程序看到差异:
public static void main(String[] args) throws InterruptedException, IOException { int i = -1; int j = i >> 1; int k = i >>> 1; System.out.println("i = " + i + "\t\t<=> " + Integer.toBinaryString(i)); System.out.println("j = " + j + "\t\t<=> " + Integer.toBinaryString(j)); System.out.println("k = " + k + "\t<=> " + Integer.toBinaryString(k)); }
输出:
i = -1 <=> 11111111111111111111111111111111 j = -1 <=> 11111111111111111111111111111111 k = 2147483647 <=> 1111111111111111111111111111111
带符号的右移运算符“>>”将位模式向右移位。无符号右移运算符“>>>”将零移位到最左边的位置,
更多信息
点击此链接