在 Java 中,条件语句用于根据不同的条件执行不同的代码块,这有助于程序根据运行时的实际情况做出决策。Java 提供了几种类型的条件语句,包括 if 语句、if-else 语句、if-else if-else 语句和 switch 语句,下面为你详细介绍这些条件语句并给出示例代码。
if 语句是最基本的条件语句,它根据一个布尔表达式的结果来决定是否执行特定的代码块。如果布尔表达式的值为 true,则执行 if 语句块中的代码;如果为 false,则跳过该代码块。
语法格式:
if (布尔表达式) {
// 当布尔表达式为 true 时执行的代码
}
示例代码:
public class IfStatementExample {
public static void main(String[] args) {
int num = 10;
if (num > 5) {
System.out.println("num 大于 5");
}
}
}
if-else 语句在 if 语句的基础上增加了一个 else 分支。当布尔表达式的值为 true 时,执行 if 语句块中的代码;当布尔表达式的值为 false 时,执行 else 语句块中的代码。
语法格式:
if (布尔表达式) {
// 当布尔表达式为 true 时执行的代码
} else {
// 当布尔表达式为 false 时执行的代码
}
示例代码:
public class IfElseStatementExample {
public static void main(String[] args) {
int num = 3;
if (num > 5) {
System.out.println("num 大于 5");
} else {
System.out.println("num 小于或等于 5");
}
}
}
if-else if-else 语句用于处理多个条件的情况。它会依次检查每个 else if 分支的布尔表达式,一旦某个表达式的值为 true,就执行对应的代码块,并且跳过后续的 else if 和 else 分支;如果所有的 else if 表达式都为 false,则执行 else 分支中的代码(如果有 else 分支的话)。
语法格式:
if (布尔表达式 1) {
// 当布尔表达式 1 为 true 时执行的代码
} else if (布尔表达式 2) {
// 当布尔表达式 2 为 true 时执行的代码
} else {
// 当所有布尔表达式都为 false 时执行的代码
}
示例代码:
public class IfElseIfElseStatementExample {
public static void main(String[] args) {
int score = 75;
if (score >= 90) {
System.out.println("成绩等级为 A");
} else if (score >= 80) {
System.out.println("成绩等级为 B");
} else if (score >= 70) {
System.out.println("成绩等级为 C");
} else if (score >= 60) {
System.out.println("成绩等级为 D");
} else {
System.out.println("成绩等级为 F");
}
}
}
switch 语句用于根据一个表达式的值来选择执行多个代码分支中的一个。它通常用于处理基于一个变量或表达式的多个固定值的情况。
语法格式:
switch (表达式) {
case 值 1:
// 当表达式的值等于值 1 时执行的代码
break;
case 值 2:
// 当表达式的值等于值 2 时执行的代码
break;
// 可以有更多的 case 分支
default:
// 当表达式的值与所有 case 值都不匹配时执行的代码
}
示例代码:
public class SwitchStatementExample {
public static void main(String[] args) {
int day = 3;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("输入的数字不在 1 - 7 范围内");
}
}
}
- 在
if 语句块和 else 语句块中,如果只有一条语句,可以省略大括号 {},但为了代码的可读性和可维护性,建议始终使用大括号。
- 在
switch 语句中,break 语句用于终止当前 case 分支的执行,防止代码继续执行到下一个 case 分支。如果省略 break 语句,会出现 “穿透” 现象,即继续执行后续 case 分支的代码。
switch 表达式可以是 byte、short、char、int、enum 类型(枚举类型)以及 String 类型(从 Java 7 开始支持)。