关于>、>>、>>>的含义及区别

本文主要介绍Java运算符>、>>、>>>三者的含义及区别

1、>:表示大于(是一种比较运算符),比较两者大小,返回值为boolean类型。如 5>6值为false

2、>>:表示带符号右移(是一种位运算符)

     如:(1):0110(6)<<1     等于0011(3)

            (2):0111(7)>>1     等于:0011(3) 

            (3):0000 1111(15)>>2    等于:0000 0011(3)

    结论:

             由此可见,对于右位移来说:如若是右移一位,可以简单的理解为:需要右移的数/2;移动两位:需要右移的数/4;以此类推。。。。(公式:需要右移的数/2的右移位数次方)

            位移是不可逆的,意思是:向右位移几位,再左移相同位数,其结果与原值不一定相等。如:0111(7)>>1等于0011(3),再左移0011(3)<<1等于0110(6) 

3、>>>:无符号右移,按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。其他结构和>>相似。

4、 其它类似符合说明:

<< 左移 

>>= 右移赋值 

>>>= 右移赋值,左边空出的位以0填充

<<= 左移赋值

猜你喜欢

转载自blog.csdn.net/weixin_40841731/article/details/85251543