java同或_java | (按位或) & (按位与) || (逻辑或) && (逻辑与) ^(异或) ⊙ (同或) 区别以及理解...

以下所有的举例都以十进制5 和 3  转成二进制如下 ,

5 :0101

3 :  0011

按位或(|):

按照位置同为假(0) 则是假(0) ;其中一个为真(1)则为真(1)。

5 | 3 ==》0101 | 0011 ==》0111 ===》(十进制)7

按位执行步骤:

0 |  0= 0;

1 | 0 = 1;

0 | 1= 1;

1 | 1 = 1;

结果:0111

按位与(&):

按照位置 同为真(1)则是真(1);否则 一真一假 或者都为假 则是假(0);

5 | 3 ==》0101 | 0011 ==》0111 ===》(十进制)1

按位执行步骤:

0  &  0= 0;

1 & 0= 0;

0 & 1= 0;

1 & 1= 1;

结果:0001

同或 (⊙ ):

5 ⊙  3:  按位操作,不相同则位真(1),相同则为假

5 ⊙  3 ==》0101 ^ 0011 ==》0110 ===》(十进制)9

按位执行步骤:

0  ⊙   0= 1;

1  ⊙   0= 0;

0  ⊙ 1= 0;

1  ⊙ 1= 1 ;

结果:1001

异或 (^):

5 ^ 3:  按位操作,不相同则位真(1),相同则为假

5 ^ 3 ==》0101 ^ 0011 ==》0110 ===》(十进制)6

按位执行步骤:

0  ^   0= 0;

1  ^  0= 1;

0  ^  1= 1;

1 ^  1= 0;

结果:0110

逻辑或(||):

a|| b

a 或 b 任何一个条件为真则为真,否则都为假

if( a || b  ){

return 1;     // 条件  1 : a=true , b=false;   2 : a=false, b=true;  3 : a=true,b=true;

}

逻辑或(&&): 当第一个为 false 则第二个不用判断,当第一个为true 第二个还要判断

a && b

a 或 b 任何一个条件为真则为真,否则都为假

if( a && b  ){

return 1;     // 条件  1 : a=true, b=true;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值