逻辑操作本是各种编程语言中最基础的一部分,也是相通的,之所以单独拿出来写是因为在一个项目中遇到了一个小小的坑是跟逻辑操作有关的,当然坑是跟个人有关系。
问题描述:方法A会返回一个布尔值表示操作是否成功,在方法B循环调用方法A,只要调用次数中有一次成功,就认为B操作是成功的。
代码描述:
private boolean B(){
boolean temp = false;
for(int i=0;i<100;i++){
temp = temp||A();
}
return temp;
}
private boolean A(){
return ran.nextDouble()>0.5?true:false;
}
上述代码运行之后发现方法A并没有调用100次,原因就在逻辑操作,但是写代码的时候没有想那么多,结果就挖了这么一个坑....
需要注意的地方:
逻辑与操作&&,如果第一个操作值为false那么直接返回,不会执行或者检查后面的代码
逻辑或操作||,如果第一个操作值为true那么直接返回,不会执行或者检查后面的代码
也就是常说的“短路”