使用逻辑运算符可以连接多个逻辑运算。
当使用逻辑运算符“&&”时,两者都为true 则返回true。而使用“||” 时,只要有个为true,则返回true.
写到这儿,也许有人会问,“&&”和“&” 以及“||”和“|”有什么区别呢?
其实就结果而言,没有区别,但是呢, “&&” 和“||”带有短路功能, 即如果第一个条件满足则后面的条件不再判断,同理,如果第一个条件不满足后面的也不再进行判断。
而"&" 和 "|"则不管条件怎样两个都要进行判断,就效率而已 肯定是第一高一些,所以,实际中我们用的多一些。下面举例说明。
public class TestDome1 {
public static void main(String[] args) {
test1();
test2();
test3();
test4();
}
static void test1(){ //此处使用static 是为了方便调用
if(10 != 10 & 10/0==0){ //非短路与
System.out.println("条件满足!");
}
//运行后报错 :Exception in thread "main" java.lang.ArithmeticException: / by zero 因为两个条件都要检查
}
static void test2(){
if(10 != 10 && 10/0==0){ //短路与
System.out.println("条件满足");
}
}
static void test3(){
if(10 == 10 || 10/0==0){ // 短路或
System.out.println("条件不满足");
}
}
static void test4(){
if(10 ==10 | 10/0 ==0){ // 非短路或
System.out.println("条件不满足");
}
//运行后报错 :Exception in thread "main" java.lang.ArithmeticException: / by zero因为两个条件都要检查
}
}