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

© 微凉的暮色 中级黑马   /  2015-5-31 17:31  /  313 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

逻辑运算符 !A
非关系值表
A
!A
true
false
false
true

  逻辑运算符 &&
逻辑与关系值表
A
B
A&&B
false
false
false
true
false
false
false
true
false
true
true
true
  逻辑运算符 ||
逻辑或关系值表
A
B
A||B
false
false
false
true
false
true
false
true
true
true
true
true
  实用性:
在运用逻辑运算符进行相关的操作,就不得不说“短路”现象。代码如下:
if(1==1 && 1==2 && 1==3){  }
代码从左至右执行,执行第一个逻辑表达式后:true && 1==2 && 1==3
执行第二个逻辑表达式后:true && false && 1==3
因为其中有一个表达式的值是false,可以判定整个表达式的值是false,就没有必要执行第三个表达式了,所以java虚拟机不执行1==3代码,就好像被短路掉了。
逻辑或也存在“短路”现象,当执行到有一个表达式的值为true时,整个表达式的值就为true,后面的代码就不执行了。
“短路”现象在多重判断和逻辑处理中非常有用。我们经常这样使用:

  • public void a(String str){
  •   if(str!=null && str.trim().length()>0){

如果str为null,那么执行str.trim().length()就会报错,短路现象保证了我们的代码能够正确执行。
在书写布尔表达式时,首先处理主要条件,如果主要条件已经不满足,其他条件也就失去了处理的意义。也提高了代码的执行效率。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马