&&和&的使用与区别

        &&和&都可以用作逻辑与的运算符,使用方法和表达结果是相同的,只有两边的表达式的结果都为true,则结果才为true,但如果有一边的表达式为false,则结果必为false,例如:

boolean a = 1 > 0 && 2 > 0;
boolean b = 1 > 0 &  2 > 0;
System.out.println(a);
System.out.println(b);

 输出的结果为:

true
true

        但&&和&的判断过程却是不一样的,因为在使用运算符&&时,当判断出前面的表达式的结果为false时,会直接得出结果,后面的表达式将不会执行,这样操作可以大概率避免出现NullPointerException异常导致的程序奔溃。而在使用运算符&时,不管一边表达式结果如何,都会将两边的表达完整执行后再进行判断。

        &也可以用作位运算符,当操作符&两边表达式不是boolean类型时,&表示按位与操作。

        小技巧:如果对逻辑与和逻辑或的运算结果分析不是了解的话,可以将逻辑与想象为串联电路,逻辑或想象成并联电路,两边的表达式想象成为电路上的开关,表达式结果为true时,则表示开关断开;表达式结果为false时,则表示开关闭合。如果电路能正常通电,则表示最终结果为true,否则就为false。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值