逻辑运算符&和&&的区别,逻辑运算符&和位运算符&的区别

逻辑运算符&和&&的区别

在java代码中,&&和&这两个逻辑运算符是使用在关系条件表达式当中,它们有相同之处也有不同之处,相同的是关系条件表达式最后的值是一样的,不同的是表达式执行的方式是不一样的。&&连接的表达式中,从左往右依次判断执行,当执行结果为false的时候,后面的表达式就不执行了。&连接的表达式中,也是从左往右依次执行,当执行结果为false的时候,后面的表达式要继续执行到结束。因此,这样一对比,使用&&连接的表达式执行效率相对于&在某些情况下要快一些。
例如:

int a=1,b=2;  //定义两个整形变量,分别赋值为1、2

if(a==2&&b>a&&++a==b)  //条件表达式的值是false,当判断a==2为false时,后面的b>a和++a==b就不执行了,a的值为1

if(a==2&b>a&++a==b)      //条件表达式的值是false,当判断a==2为false时,后面的b>a和++a==b继续执行,a的值为2

逻辑运算符&和位运算符&的区别

位运算符&:如果相对应位都是1,则结果为1,否则为0;
例如:假设整数变量A的值为60和变量B的值为13。即A = 0011 1100
B = 0000 1101。
则(A&B),得到12,即0000 1100。
逻辑运算符&:当&两侧的值都为真时,结果才为真,
例如:
int i = 2,j = 4;则(++i=2)&(j++=4)的结果为false:
先判断++i=2是否成立,结果不成立(false),程序会继续判断下一个表达式是否成立,j++=4,该表达式成立。但是&逻辑运算符要求两侧的值都为真时,结果才为真。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值