逻辑运算符
下表列出了逻辑运算符的基本运算,假设布尔变量A为真,变量B为假
操作符 | 描述 | 例子 |
---|---|---|
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 |
| | | 称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | | B)为真。 |
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
实例
public class Test {
public static void main(String[] args) {
boolean布尔值 a = true;
boolean b = false;
System.out.println(“a && b = ” + (a&&b));称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。
System.out.println(“a || b = ” + (a||b) );称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。
System.out.println(“!(a && b) = ” + !(a && b)); } }称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。
以上实例编译运行结果如下:
a && b = false a || b = true !(a && b) = true
短路逻辑运算符
当使用与逻辑运算符时,在两个操作数都为true时,结果才为true,但是当得到第一个操作为false时,其结果就必定是false,这时候就不会再判断第二个操作了。
实例
public class LuoJi{
public static void main(String[] args){
int a = 5;//定义一个变量;
boolean b = (a<4)&&(a++<10);
System.out.println(“使用短路逻辑运算符的结果为”+b);
a大于5所以为假,第一次判读结果直接跳出,后面自增加运算无效
System.out.println(“a的结果为”+a); } }
运行结果为:
使用短路逻辑运算符的结果为false a的结果为5
解析: 该程序使用到了短路逻辑运算符(&&),首先判断 a<4 的结果为 false,则 b 的结果必定是 false,所以不再执行第二个操作 a++<10 的判断,所以 a 的值为 5。