public class Main {
public static void main(String[] args) {
//&&,&,||,|区别
System.out.println("||: ");
if(returnTrue1() || returnTrue2()){
System.out.println(true);
}
System.out.println("|: ");
if(returnTrue1() | returnTrue2()){
System.out.println(true);
}
System.out.println("&&: ");
if(returnFalse1() && returnFalse2()){
System.out.println(false);
}
System.out.println("&: ");
if(returnFalse1() & returnFalse2()){
System.out.println(false);
}
}
static Boolean returnFalse1(){
System.out.println("returnFalse1");
return false;
}
static Boolean returnFalse2(){
System.out.println("returnFalse2");
return false;
}
static Boolean returnTrue1(){
System.out.println("returnTrue1");
return true;
}
static Boolean returnTrue2(){
System.out.println("returnTrue2");
return true;
}
}
结果:
||:
returnTrue1
true
|:
returnTrue1
returnTrue2
true
&&:
returnFalse1
&:
returnFalse1
returnFalse2
这里可以明显看出来,||或者&& 只要第一个能确定答案了,后面一个就不会执行了