day20 Java流程控制——选择结构
1. 什么是选择结构
Java中的选择结构用于根据特定的条件来决定程序执行哪部分代码。选择结构主要包括以下几种形式:
2. if语句:
- 简单if语句:当条件为真时执行一段代码。
if (条件) { // 条件为真时执行的代码 }
- if-else语句:当条件为真时执行一段代码,否则执行另一段代码。
if (条件) { // 条件为真时执行的代码 } else { // 条件为假时执行的代码 }
- if-else if-else链:用于对多个条件进行判断,选择多个代码块之一来执行。
if (条件1) { // 条件1为真时执行的代码 } else if (条件2) { // 条件1为假且条件2为真时执行的代码 } else { // 以上条件都为假时执行的代码 }
3. switch语句:
3.1 介绍
-
switch语句允许一个变量与一系列值进行匹配,并根据匹配结果执行不同的代码块。
switch (变量) { case 值1: // 变量等于值1时执行的代码 break; case 值2: // 变量等于值2时执行的代码 break; // 更多case... default: // 变量不匹配以上任何值时执行的代码 }
-
在Java 12及以后的版本中,switch表达式引入了更简洁的写法,允许返回值。
switch (变量) { case 值1 -> { // 变量等于值1时执行的代码 } case 值2 -> { // 变量等于值2时执行的代码 } // 更多case... default -> { // 变量不匹配以上任何值时执行的代码 } }
3.2 switch语句中的变量类型
在Java中,switch语句中的变量类型可以是以下几种:
- 整型类型:包括
byte
、short
、char
和int
。 - 枚举类型:从Java 5开始,switch语句支持枚举类型。
- 字符串类型:从Java 7开始,switch语句支持
String
类型。 - 包装类型:从Java 14开始,switch语句支持
Integer
、Short
、Byte
、Character
等包装类型。
以下是一些示例:
- 使用整型:
int value = 1;
switch (value) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
// 其他case...
default:
System.out.println("None");
}
- 使用枚举类型:
enum Color {RED, GREEN, BLUE};
Color color = Color.RED;
switch (color) {
case RED:
System.out.println("Red");
break;
case GREEN:
System.out.println("Green");
break;
case BLUE:
System.out.println("Blue");
break;
}
- 使用字符串类型:
String str = "Two";
switch (str) {
case "One":
System.out.println("Number one");
break;
case "Two":
System.out.println("Number two");
break;
// 其他case...
default:
System.out.println("Unknown number");
}
- 使用包装类型(Java 14及以上):(自带break防穿透)
Integer number = 1;
switch (number) {
case 1 -> System.out.println("One");
case 2 -> System.out.println("Two");
default -> System.out.println("Unknown");
}
需要注意的是,switch语句不支持long
、float
和double
类型。如果需要对这些类型的值进行匹配,必须先将其转换为支持的类型。
总结
选择结构通过条件表达式来控制程序的流程。条件表达式必须返回一个布尔值(true或false),程序将根据这个布尔值来决定执行哪部分代码。