& 和 && 区别和联系,| 和 || 区别和联系

& 和 && 区别和联系,| 和 || 区别和联系,实际项目中,什么情况用哪种?

首先,& 和 && 的联系(共同点):

& 和 && 都可以用作 逻辑与 运算符,都是双目运算符。具体要看使用时的具体条件来决定。

无论使用哪种运算符,对最终的运算结果都没有影响。

情况1:当上述的操作数是boolean类型变量时,& 和 && 都可以用作逻辑与运算符。

情况2:当上述的表达式是boolean类型变量时,& 和 && 都可以用作逻辑与运算符。

表示逻辑与(and),当运算符两边的表达式的结果或操作数都为true时,整个运算结果才为true,否则,只要有一方为false,结果都为false。

& 和 && 的区别(不同点):

1)& 逻辑运算符称为逻辑与运算符,&& 逻辑运算符称为短路与运算符,也可叫逻辑与运算符。

2)对于 & :无论任何情况,&两边的操作数或表达式都会参与计算。

3)对于 && :当&&左边的操作数为false或左边表达式结果为false时,&&右边的操作数或表达式将不参与计算,此时最终结果都为false。

举个例子:

用户登录网络账户时需要验证用户名和密码等,

if("zhangsan".equals(username) && "12345@54321".equals(password)){}此处使用&&进行验证,用户名不匹配就没必要验证密码了。

综上所述,如果逻辑与运算符的第一个操作数为false或第一个表达式的结果为false时,对于第二个操作数或表达式是否进行运算,对最终的结果没有影响,结果肯定是false。推荐多用&&,因为它的效率更高些。

附:&还可以用作位运算符。当&两边操作数或两边的表达式的结果不是boolean类型时,&用于按位运算符的操作。

| 和 || 的区别和联系与 & 和 && 的区别和联系类似。

原文地址:https://www.cnblogs.com/sinoaccer/p/12001922.html