java (逻辑与&&、按位与&、逻辑或||、按位或|、异或^、左移和右移)的区别?

本文详细解析了位运算(按位与、按位或、异或、左移、右移)与逻辑运算(逻辑与、逻辑或)的区别及应用场景。通过具体的二进制运算例子,帮助读者理解各种运算符的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

首先名称是不同的

&&逻辑与  ||逻辑或  它们都是逻辑运算符

& 按位与  | 按位或  它们都是位运算符

if(a==1&&b==2) 这是说既要满足a=1也要满足b=2

if(a==1||b==2) 这是说或者满足a=1或者要满足b=2

而a&b或者a|b则是二进制的与或运算

&同为1时为1,否则为0

|同为0时为0,否则为1
如果说1为真,0为假,那么如果进行&操作,只有真真才为真,|操作,只要有一真即为真

3&5则

 0011

&0101

 0001

等于1


3|5则

 0011

|0101

 0111

等于7
异或:^
同真同假为假
一真一假为真
左移<<:箭头向左,n<<m 表示 n*(2的m次方)
例如:1<<4=1*2^4=16, 2<<3=2*2^3=16

右移<<:箭头向右,a>>b 表示 a/(2的b次方)
例如:16>>3=16/(2^3)=2

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值