在 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 开始支持)。