无符号右移(>>>)会将结果提升为int,而>>>=会在最后将结果再转型为左操作数类型
byte i = -1;
int j = (int)(i >>> 1);
结果j=2147483647,是先将byte的i提升为int再做的无符号右移,可见无符号右移是起到效果的
byte i = -1;
i >>>= 1;
i仍为-1是因为最后将无符号右移int结果(2147483647)再截取其byte值,因此仍是-1
无符号右移(>>>)会将结果提升为int,而>>>=会在最后将结果再转型为左操作数类型
byte i = -1;
int j = (int)(i >>> 1);
结果j=2147483647,是先将byte的i提升为int再做的无符号右移,可见无符号右移是起到效果的
byte i = -1;
i >>>= 1;
i仍为-1是因为最后将无符号右移int结果(2147483647)再截取其byte值,因此仍是-1