1、有符号移位操作符(<< 和 >>)
有符号右移操作符使用符号扩展,即符号正则在高位插入0,符号负则在高位插入1.
如果对char,byte或者short类型的数值进行移位处理,在移位进行前,他们会被转换为int类型,并且得到的结果也是一个int类型的值。
2、无符号右移操作符( >>>)
他使用“0”扩展,即无论正负,都在高位插入0.
当与“=”(>>>=)组合使用时,可能会遇到一个问题:如果对byte或short值进行无符号右移运算,得到的可能不是正确的结果。他们会先被转换成int类型,再进行右移操作,然后被截断,赋值给原来的类型,在这种情况下可能得到-1的结果。