首页 > 代码库 > 在Java中>、>>、>>>三者的区别

在Java中>、>>、>>>三者的区别

>表示大于,如:if(a>b)...结果是boolean类型。


>>表示右移,如:int i=15; i>>2的结果是3,移出的部分将被抛弃。


转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。

“>>>”运算符所作的是无符号的位移处理,它不会将所处理的值的最高位视为正负符号,所以作位移处理时,会直接在空出的高位填入0。当我们要作位移的原始值并非代表数值时(例如:表示颜色图素的值,最高位并非正负号),可能就会需要使用此种无符号的位移。


使用 >>>= 运算符和使用下面的语句是等效的:
result = result >>> expression
>>>= 运算符把 result 的所有位向右移 expression 指定的位数。右移后左边空出的位用零来填充。向右移出的位被丢弃。例如:

var temp
temp = -14
temp >>>= 2

在Java中>、>>、>>>三者的区别