15 运算符之逻辑运算符

在上一章中,我们学习了关系运算符,它们用于比较两个值之间的关系,而这章我们将深入了解逻辑运算符。逻辑运算符用于组合多个布尔表达式,并返回一个布尔值(truefalse)。Java 语言中主要有三种逻辑运算符:与(&&)、或(||)和非(!)。

逻辑与(&&

逻辑与运算符 && 用于连接两个布尔表达式,当且仅当两个表达式都为 true 时,结果才为 true,否则为 false。我们来看一个简单的示例:

1
2
3
boolean a = true;
boolean b = false;
boolean result = a && b; // result 为 false

在这个例子中,result 的值将是 false,因为 bfalse。可以将逻辑与运算符视为一个”门”,只有当所有输入均为”开启”时,输出才会为”开启”。

示例代码

我们可以使用一个完整的程序来演示逻辑与运算符的使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Main {
public static void main(String[] args) {
int age = 25;
boolean hasLicense = true;

// 检查是否满足驾驶条件
boolean canDrive = (age >= 18) && hasLicense;

if (canDrive) {
System.out.println("可以驾驶!");
} else {
System.out.println("不能驾驶!");
}
}
}

在这个例子中,只有当年龄大于或等于 18 且拥有驾驶执照时,才能输出 “可以驾驶!”。

逻辑或(||

逻辑或运算符 || 用于连接两个布尔表达式,只要有一个表达式为 true,结果就为 true。如果两个表达式都为 false,结果才为 false。下面是一个简单的示例:

1
2
3
boolean c = true;
boolean d = false;
boolean result = c || d; // result 为 true

这里,result 的值将是 true,因为 c 的值是 true

示例代码

以下代码展示了逻辑或运算符的实际应用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Main {
public static void main(String[] args) {
boolean isWeekend = true;
boolean isHoliday = false;

// 检查是否可以休息
boolean canRest = isWeekend || isHoliday;

if (canRest) {
System.out.println("可以休息!");
} else {
System.out.println("需要工作!");
}
}
}

在这个例子中,只要是周末或假期,则可以休息。

逻辑非(!

逻辑非运算符 ! 是一个一元运算符,用于反转布尔值。若原值为 true,则结果为 false,反之亦然。来看一个简单的示例:

1
2
boolean e = true;
boolean result = !e; // result 为 false

示例代码

我们来看看逻辑非运算符的使用:

1
2
3
4
5
6
7
8
9
10
11
12
public class Main {
public static void main(String[] args) {
boolean isRainy = false;

// 检查是否需要带伞
if (!isRainy) {
System.out.println("不需要带伞,今天是晴天!");
} else {
System.out.println("需要带伞,今天下雨!");
}
}
}

这里我们使用逻辑非运算符来判断是否需要带伞。如果 isRainyfalse,就会输出 “不需要带伞,今天是晴天!”。

逻辑运算符组合

有时,我们可能需要组合多个逻辑运算符来进行复杂的条件判断。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Main {
public static void main(String[] args) {
boolean isStudent = true;
boolean hasDiscountCard = false;

// 检查是否可以享受折扣
boolean canGetDiscount = isStudent || hasDiscountCard;

if (canGetDiscount) {
System.out.println("可以享受折扣!");
} else {
System.out.println("不能享受折扣!");
}
}
}

在这里,只有当学生身份为真或持有折扣卡时,用户才能享受到折扣。

注意事项

  1. 短路运算:逻辑与 && 和逻辑或 || 运算符都具有短路特性。即 A && BAfalse 时,B 不会被求值,结果直接为 false。同样地,A || BAtrue 时,B 不会被求值,结果直接为 true

  2. 使用时候的优先级:在组合多个运算符时,要注意运算符的优先级。可以使用小括号 () 来明确优先级,确保运算按照预期进行。

至此,我们已经完成了对逻辑运算符的学习。逻辑运算符在程序中用于条件判断,是控制程序流的重要工具。在下一章中,我们将继续探讨 if 条件语句,它是控制结构的核心组成部分。

15 运算符之逻辑运算符

https://zglg.work/java-zero/15/

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论