A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

逻辑双与&&和逻辑与&的区别是啥?

12 个回复

倒序浏览
双与有短路效果,false&&true,第一个是false就直接不执行后面的判断。&则需要进行两边的位运算。
回复 使用道具 举报
&& 前面如果是错误的就不在执行后面的了,& 前面后面的都会执行
回复 使用道具 举报
结果都一样,只是双与有短路效果。左边是ture,右边不执行!
回复 使用道具 举报
&&有短路效果 提高效率
回复 使用道具 举报
false&&true,第一个是false就直接不执行后面的判断。&则需要进行两边运算。
回复 使用道具 举报
区别是:短目(双与)和非短目(单与)
回复 使用道具 举报
&&有短路效果,如果左边是false。则右边不执行。&是两边都判断
||也有短路效果,如果左边是true则右边不执行
回复 使用道具 举报
&两个条件都判断才得出结果,&&只判断一个条件,如果左边条件是false,结果就是false,俗称短路
回复 使用道具 举报
a:最终结果一样
b:&&具有短路效果.左边false,右边不执行
       &是无论左边是false还是true,右边都会执行
回复 使用道具 举报
首先&&跟&运行的结果是相同的,但是&&起到了一个短路的作用~
当&&左边为false的时候,右边不执行
当&无论左边是不是为false,右边都要执行
回复 使用道具 举报
逻辑单与和双与的结果都一样,只是双与会发生短路效果,就是如果双与左边是false右边就不在执行
回复 使用道具 举报
从结果来说是差不多的。
但是&&如果第一个判断条件为false那么后面的就不再进行判断了
而&第一个不管是true还是false都要继续判断后面那个条件。
给你个例子
class Demo

public static void main(String[] args)

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

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

这个编译运行没问题。
但是如果换成&就会报错了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马