A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 18895700133 中级黑马   /  2016-5-10 22:38  /  259 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



Java的位运算符有:&与、|或、^异或、~非、<<算术左移、>>算术右移、>>>逻辑右移


1. &(与)
  全是1-->1
  全是0-->0
  有1有0-->0
    例:000  111  010  101
      000  111  101  101
      ----------------------------
      000  111  000  101


1 int i = 1;  //000000000000000000000000000000012 int j = 2;  //000000000000000000000000000000103 int n = i&j;//000000000000000000000000000000004 System.out.println(n);//0


2. |(或)
  有1-->1
  全0-->0
    例:000  111  010  101
      000  111  101  010
      ----------------------------
      000  111  111  111

int i = 1;  //00000000000000000000000000000001int j = 2;  //00000000000000000000000000000010int n = i|j;//00000000000000000000000000000011Sys.out.println(n);//3

3.  ^(异或)
  全0-->0
  全1-->0
  有1有0-->1
    例:000  111  010  101
      000  111  101  010
      ----------------------------
      000  000  111  111
int i = 1;  //00000000000000000000000000000001int j = 2;  //00000000000000000000000000000010int n = i^j;//00000000000000000000000000000011System.out.println(n);//3

4.  ~(非)
  把0变1
  把1变0
    例:000  111  010  101
      ----------------------------
      111  000  101  010
int i = 1; //00000000000000000000000000000001int j = ~i;//11111111111111111111111111111110System.out.println(j);//-2

5. <<(左移)
  x<<n
  把x向左边平移n位。跑马灯?
    

6. >> (右移)
  x<<n
  把x向右边平移n位。如图:
  

7. >>> (逻辑右移)
  x>>>n
  将x向右平移n位。正负均补0。
  


2 个回复

正序浏览
。。。。。。。
回复 使用道具 举报
楼主写这么多很辛苦吧!给你点个赞
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马