当前位置: 代码迷 >> 综合 >> Java运算符>、>>、>>>三者的区别
  详细解决方案

Java运算符>、>>、>>>三者的区别

热度:54   发布时间:2024-01-31 22:45:10.0

Java运算符>、>>、>>>三者的区别

 更新时间:2014年06月19日 11:52:56   转载 投稿:junjie  

这篇文章主要介绍了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)。

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

测试代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

public class Test{ 

  public static void main(String[] args){ 

    System.out.println("1、以下测试>:"); 

    int a = 1, b = 2; 

    System.out.println(a > b); 

    System.out.println("\n2、以下测试>>:"); 

    System.out.println("15 >> 2 = " + (15 >> 2)); 

    System.out.println("\n3、以下测试>>>:"); 

    for (int i = 0; i < 10; i++){ 

      for (int j = 0; j < 500; j = j + 5){ 

        System.out.println(j / (int) (Math.pow(2, i))); 

        System.out.println(j >>> i); 

      } 

    } 

  }

}

JAVA中其他位运算符:

~ 按位非(NOT)(一元运算)
& 按位与(AND)
| 按位或(OR)
^ 按位异或(XOR)
>> 右移
>>> 右移,左边空出的位以0填充
<< 左移
&= 按位与赋值
|= 按位或赋值
^= 按位异或赋值
>>= 右移赋值
>>>= 右移赋值,左边空出的位以0填充
<<= 左移赋值