Java 布尔运算符

Java 中布尔运算符也称逻辑运算符,可以对 boolean 类型(布尔类型)数据进行逻辑上的“与”、“或”、“非”、“异或”等逻辑运算,执行运算后结果还是 boolean 类型,布尔运算符常常用于程序的流程控制。

Java 中布尔运算符包括:

  • &    逻辑“与”

  • |    逻辑“或”

  • !    逻辑“非”

  • ^    逻辑“异或”

  • &&    短路与

  • ||    短路或

下表是 Java 布尔运算的逻辑规则:

ab!aa & ba | ba ^ ba && ba || b
true
truefalsetruetruefalsetrueture
true
falsefalsefalsetrueturefalsetrue
false
truetruefalsetruetruefalseture
false
falsetruefalsefalsefalsefalsefalse

到这里,有的读者可能会问什么是“短路与”和“短路或”?在一个复杂的逻辑表达式中,程序可以根据第一个操作数的值确定整个逻辑表达式的结果时,跳过对第二个、第三个操作数的计算,直接得出最终结果。例如:

// 短路与
int a = 20, b = 3;
if(a > 30 && b > 0 && a > b) {
    System.out.println("执行");
} else {
    System.out.println("未执行");
}

上面代码中,条件判断表达式“a > 30 && b > 0 && a > b”当 a > 30 不满足,返回 false 时,整个表达式的返回值肯定是 false,因此不需要计算后续的表达式,这就是短路与。

// 短路或
int a = 20, b = 3;
if(a > 0 || b > 0 || a > b) {
    System.out.println("执行");
} else {
    System.out.println("未执行");
}

上面代码中,条件判断表达式“a > 0 || b > 0 || a > b”当 a >0 满足,返回 true 时,整个表达式的返回肯定是 true,因此也不需要计算后续的表达式,这就是短路或。

示例

public class Demo {

    public static void main(String[] args) {
        boolean a = true, b = false;
        // 非
        System.out.println("!a = " + (!a));
        // 与
        System.out.println("a & b = " + (a & b));
        // 或
        System.out.println("a | b = " + (a | b));
        // 异或
        System.out.println("a ^ b = " + (a ^ b));
    }

}

运行示例,输出结果如下:

!a = false
a & b = false
a | b = true
a ^ b = true

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号