黑马程序员技术交流社区

标题: 在Java中>、>>、>>>三者的区别 [打印本页]

作者: 韩天雷    时间: 2014-7-18 00:31
标题: 在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)。

>>>无符号右移,它表示的含义:

j>>>i 与 j/(int)(Math.pow(2,i))的结果相同,其中i和j是整形。

Math.pow(X,Y)计算X的Y次方

测试代码如下:
  1. public class Test {
  2.         public static void main(String[] args) {
  3.                 System.out.println("1、以下测试>:");
  4.                 int a = 1, b = 2;
  5.                 System.out.println(a > b);
  6.                 System.out.println("\n2、以下测试>>:");
  7.                 System.out.println("15 >> 2 = " + (15 >> 2));
  8.                 System.out.println("\n3、以下测试>>>:");
  9.                 for (int i = 0; i < 10; i++) {
  10.                         for (int j = 0; j < 500; j = j + 5) {
  11.                                 System.out.println(j / (int) (Math.pow(2, i)));
  12.                                 System.out.println(j >>> i);
  13.                         }
  14.                 }
  15.         }
  16. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2