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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huanxiang0220 中级黑马   /  2015-2-23 02:54  /  1430 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    &是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。而我们在开发中,遇到&或者|  我可以将他们转换成双&、双||,这样可以提高效率,原由是:
           当表达式&&左边的结果是false时,发生短路,不用在计算右边的表达式,整个结果都为false。
           当表达式||左边的结果是ture时,发生短路时,不用在计算右边的表达式,这个结果为true。
代码体现:
   &与&&:

Java代码
if(expression1 & expression2){}  
中expression1 和expression2 无论expression1返回true还是false,都会继续判断expression2的返回值  


Java代码
public class Test4{   
    public static void main(String args[]){   
        if(10==10||10/0==0){   
            System.out.println("条件满足") ;   
        }   
    }   
};  
   



|与||
Java代码
public class Test4{   
    public static void main(String args[]){   
        if(10==10||10/0==0){   
            System.out.println("条件满足") ;   
        }   
    }   
};  
   


这个程序执行会报错,因为程序会去判断每一个表达式,而下面:

Java代码
public class Test4{   
    public static void main(String args[]){   
        if(10==10||10/0==0){   
            System.out.println("条件满足") ;   
        }   
    }   
};  
   

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1 淡定

查看全部评分

4 个回复

倒序浏览
彭春晓 来自手机 中级黑马 2015-2-23 08:54:30
沙发
学习了。
回复 使用道具 举报
兄弟,你黑马币换一下技术分,基本上就够25了,恭喜啊,哈哈。
回复 使用道具 举报
恩恩,谢谢分享!!!!!!
回复 使用道具 举报
浮夸 来自手机 中级黑马 2015-2-23 17:15:46
报纸
赞一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马