逻辑运算符
操作符 | 描述 | 例子 | |
---|---|---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真 | (A && B)为假。 | |
|| | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 | |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
使用逻辑运算符,在控制台输出的结果都是Boolean值(布尔类型:true或者false)
举个例子:
@Test
public void logicTest(){
boolean x = true;
boolean y = false;
System.out.println("x && y = " + (x&&y));
System.out.println("x || y = " + (x||y) );
System.out.println("!(x && y) = " + !(x && y));
}
此外逻辑运算符还可以进行短路逻辑运算:当使用与逻辑运算符(&&)时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
这个在判断Integer类型的变量时经常会用到,因为如果Integer变量出进入是一个null,程序在运行时就会报出空指针异常,所以如果在判断条件时先判断是否为null,这个异常时可以避免的。