欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

&与&&的区别与联系

程序员文章站 2024-03-25 20:00:34
...

联系 :     

 &和&&是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)。

 

相关标签: 基础