1. 复杂形式:if...else if...else 多分支语句(多选一)
语法结构
java
体验AI代码助手
代码解读
复制代码
if(判断条件1) {
语句块1; // 条件1为true时执行
} else if(判断条件2) {
语句块2; // 条件1为false、条件2为true时执行
}
// ... 可添加多个else if
else {
语句块m; // 所有条件都为false时执行(可省略)
}
实例演示(匹配变量 i 的值)
java
体验AI代码助手
代码解读
复制代码
int i = 4;
if (i == 1) {
System.out.println("i = 1"); // i≠1,跳过
} else if (i == 2) {
System.out.println("i=2"); // i≠2,跳过
} else if (i == 3) {
System.out.println("i=3"); // i≠3,跳过
} else {
System.out.println("不确定i的值"); // 所有条件不满足,执行此句
}
System.out.println("if...else if...else语句结束"); // 一定会执行
运行结果
arduino
体验AI代码助手
代码解读
复制代码
不确定i的值
if...else if...else语句结束
2、实战练习:用 if 语句解决实际问题
综合案例巩固:根据用户输入的成绩,输出对应的评级和奖励。
需求:
- 成绩 <60:评级 “不及格”,无奖励;
- 60≤成绩 <80:评级 “及格”,奖励 “练习册一本”;
- 80≤成绩 <90:评级 “良好”,奖励 “笔记本一本”;
- 成绩≥90:评级 “优秀”,奖励 “钢笔一支”。
代码实现:
java
体验AI代码助手
代码解读
复制代码
import java.util.Scanner; // 导入输入工具类
public class ScoreRating {
public static void main(String[] args) {
// 1. 获取用户输入的成绩
Scanner scanner = new Scanner(System.in);
System.out.print("请输入成绩(0-100):");
int score = scanner.nextInt();
// 2. 用多分支判断评级和奖励
if(score < 0 || score > 100) {
System.out.println("输入的成绩无效!");
} else if(score < 60) {
System.out.println("评级:不及格,无奖励");
} else if(score < 80) {
System.out.println("评级:及格,奖励:练习册一本");
} else if(score < 90) {
System.out.println("评级:良好,奖励:笔记本一本");
} else {
System.out.println("评级:优秀,奖励:钢笔一支");
}
scanner.close(); // 关闭输入流
}
}