黑马程序员技术交流社区

标题: 逻辑双与和逻辑与的区别是什么? [打印本页]

作者: shijialong1111    时间: 2016-6-28 10:18
标题: 逻辑双与和逻辑与的区别是什么?
逻辑双与&&和逻辑与&的区别是啥?
作者: Ake丶    时间: 2016-6-28 10:41
双与有短路效果,false&&true,第一个是false就直接不执行后面的判断。&则需要进行两边的位运算。
作者: 孟小垚    时间: 2016-6-28 12:34
&& 前面如果是错误的就不在执行后面的了,& 前面后面的都会执行
作者: caesar_QMwS4    时间: 2016-6-28 15:03
结果都一样,只是双与有短路效果。左边是ture,右边不执行!
作者: 你好就好    时间: 2016-6-29 08:03
&&有短路效果 提高效率
作者: 115241473    时间: 2016-6-29 22:03
false&&true,第一个是false就直接不执行后面的判断。&则需要进行两边运算。
作者: 940752944    时间: 2016-6-29 22:24
区别是:短目(双与)和非短目(单与)
作者: 他的好    时间: 2016-6-30 00:54
&&有短路效果,如果左边是false。则右边不执行。&是两边都判断
||也有短路效果,如果左边是true则右边不执行
作者: 奕明传媒    时间: 2016-6-30 10:43
&两个条件都判断才得出结果,&&只判断一个条件,如果左边条件是false,结果就是false,俗称短路
作者: yw201605    时间: 2016-6-30 19:08
a:最终结果一样
b:&&具有短路效果.左边false,右边不执行
       &是无论左边是false还是true,右边都会执行
作者: 芒果小姐    时间: 2016-6-30 19:55
首先&&跟&运行的结果是相同的,但是&&起到了一个短路的作用~
当&&左边为false的时候,右边不执行
当&无论左边是不是为false,右边都要执行
作者: TheLittlePrince    时间: 2016-6-30 23:26
逻辑单与和双与的结果都一样,只是双与会发生短路效果,就是如果双与左边是false右边就不在执行
作者: itismyhao    时间: 2016-7-1 01:31
从结果来说是差不多的。
但是&&如果第一个判断条件为false那么后面的就不再进行判断了
而&第一个不管是true还是false都要继续判断后面那个条件。
给你个例子
class Demo

public static void main(String[] args)

if( (20==21) && (5/0==0))
System.out.print("无异常");

else
{
System.out.print("异常");
}

这个编译运行没问题。
但是如果换成&就会报错了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2