说说&和&&的区别?
2016-12-29 22:26
369 查看
&和&&都可以用作逻辑运算符,表示逻辑与。当运算符两边的表达式都为true时,结果才为true;否则,结果为false。
另外&&还具有短路功能,也就是说,当&&左边的表达式结果为false时,将不再运算&&右边的表达式,结果肯定为false。例如,对于if(str!=null&&!str.equals(“”)),当str为null时,不会对&&右边的表达式进行运算,否则会出现空指针异常。
&还可以用作位运算符,当&两边的表达式不是boolean类型时,&表示按位与。
另外&&还具有短路功能,也就是说,当&&左边的表达式结果为false时,将不再运算&&右边的表达式,结果肯定为false。例如,对于if(str!=null&&!str.equals(“”)),当str为null时,不会对&&右边的表达式进行运算,否则会出现空指针异常。
&还可以用作位运算符,当&两边的表达式不是boolean类型时,&表示按位与。
相关文章推荐
- 说说&和&&的区别
- 说说&和&&的区别?
- 说说&和&& |和||的区别 及关于位操作符的使用和总结
- 说说&和&&的区别
- 说说&& 和 &的区别
- 【Java面试题】55 说说&和&&的区别。
- 说说&和&&的区别?
- 说说& 和&& 的区别
- 3、说说&和&&的区别。
- 说说&和&&的区别
- 说说&和&&的区别?
- 说说&和&&的区别。
- 说说&和&&的区别
- DDK中"checked build"和"free build" 之区别
- VB中 0、""(空字串)、Null、Empty、与 Nothing 的区别
- [java] "Hello"和new String("Hello")产生String对象的区别
- AT&T与INTEL的汇编语言语法的区别
- C#中NULL,"",DBNULL,String.Empty,Convert.IsDBNull()的区别
- '&'和'*' (C++)的区别
- 认识无线路由器与无线AP的区别+Q&A