&与&&的区别与联系

联系 :     

 &和&&是Java中的逻辑与运算符,都是双目运算符。如果两个操作数都是true,结果是true,否则是假;使用这两者对最后的逻辑运算结果并不产生影响。

  都是执行两个条件全为真则为真,有一者为假则为假。

package demo1;

public class Test1 {
    public static void main(String[] args) {
        System.out.println(7 > 8 & 7 == 7);
        System.out.println(7 > 8 && 7 == 7);
    }
} 

7>8&7==7以及7>8&&7==7运行结果都为false

 

 

区别:

1. 

当第一个条件为假时,使用&逻辑运算符还会继续运行,而使用&&运算符不会测试下一个条件是否为真,直接输出false,这样减少了判断次数。提高了代码的运行效率。在一般使用逻辑运算符中使用&&逻辑运算符较多,使用&逻辑运算符较少。

 

生活案例:如果大明和二明都同意去颐和园参观,妈妈才会领他们去;结果妈妈问了大明,大明不去,就没有必要再问二明了

技术案例:登录成功需要用户名和密码都正确才成功,如果用户名已经错了,就没有必要判断密码了。if(“bjsxt”.equals(username) && “bjsxt”.equals(pwd)){ }

2.

&还可以用作位运算符。当&两边操作数不是boolean类型时,而是整数类型时&用于按位与运算符的操作。但是&&没有这个位运算功能  5 & 6

package demo1;

public class Test1 {
    public static void main(String[] args) {
        System.out.println(5 & 6);
    }
}

运行结果如下:

5和6进行二进制与运算,即0101和0110进行运算,两位全为1才为1,只有第三位全为1,所以结果为4。

与其相似的还有|和||(|进行数值运算时,两者有一个为1则为1)。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值