1.布尔逻辑

在 Java 中,您不能编写表达式18 < age <65. 这是不正确的语法,程序不会编译。

但是你可以这样写:

(18 < age) AND (age < 65)

当然,不是单词AND,而是逻辑运算符。我们现在将更详细地讨论它们。

Java 中存在三种逻辑运算符:AND(&&)、OR(||) 和NOT(!)。

消息是您可以使用括号来构造任何复杂的逻辑表达式。

消息是 Java 开发人员决定使用C 语言的表示法而不是and,ornot

看画面:

逻辑运算符 期待 现实
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

以下是在 Java 中使用逻辑运算符的一些示例:

表达 解释 解释
(0 < a) && (a < 100)
(0 < a) and (a < 100)
(0 < a) AND (a < 100)
(!a) && (!b)
(not a) and (not b)
(NOT a) AND (NOT b)
!(!a || !b)
not((not a) or (not b))
NOT((NOT a) OR (NOT b))


2.使用比较运算符和布尔变量的例子

哪里可以写逻辑表达式,哪里就可以写逻辑变量。

例子:

代码 解释
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
如果 age 的值介于18和之间65,则显示短语“You can work”。
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
我们创建了一个isYoung变量并将表达式的第一部分移入其中。我们只是age >= 18age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
我们创建了一个 isOld 变量并将表达式的第二部分移入其中。此外,我们替换age <= 65age > 65.

这三个例子是等价的。只有在第二个例子中,我们才将表达式的一部分从if语句中移到一个单独的布尔变量 ( isYoung) 中。在第三个示例中,我们将表达式的第二部分移动到第二个变量 ( isOld) 中。



3.逻辑运算

让我们简要介绍一下逻辑操作。

运算AND符是&&,也称为连词

表达 结果
true && true
true
true && false
false
false && true
false
false && false
false

换句话说,true只有当组成表达式的两个值都是 时,表达式的结果才是true。否则,它总是false

运算OR符是||,也称为析取

表达 结果
true || true
true
true || false
true
false || true
true
false || false
false

换句话说,true如果表达式中至少有一项是 ,则表达式的结果总是true。如果两者都是false,那么结果是false

运算NOT符是!,也称为逻辑逆

表达 结果
!true
false
!false
true

操作员更改truefalse,反之亦然。

有用的表达:

表达 结果
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b