java程序设计开发,控制结构(if-else、switch)
学习目标:
-
掌握
if-else
和switch
的语法结构 -
能根据需求选择合适的分支结构
-
理解代码执行流程并避免常见逻辑错误
-
解决实际生活中的条件判断问题
一、课程引入
1.1 什么是控制结构?
-
作用:控制代码的执行流程(顺序、分支、循环)
-
分支结构:根据条件决定执行哪部分代码
-
生活类比:
-
if-else
:如果下雨→带伞,否则→不带伞 -
switch
:根据星期几决定穿什么衣服
-
二、if-else语句
2.1 单分支if语句
语法
if (条件表达式) {
// 条件为true时执行的代码
}
案例1:判断是否成年
int age = 20;
if (age >= 18) {
System.out.println("已成年,可以进入网吧!");
}
2.2 双分支if-else语句
语法
if (条件表达式) {
// true时执行
} else {
// false时执行
}
案例2:判断数字奇偶性
int num = 7;
if (num % 2 == 0) {
System.out.println(num + "是偶数");
} else {
System.out.println(num + "是奇数");
}
2.3 多分支if-else if
语法
if (条件1) {
// 条件1成立
} else if (条件2) {
// 条件2成立
} else {
// 所有条件都不成立
}
案例3:成绩等级划分
int score = 85;
if (score >= 90) {
System.out.println("A");
} else if (score >= 80) {
System.out.println("B");
} else if (score >= 60) {
System.out.println("C");
} else {
System.out.println("D");
}
三、switch语句
3.1 基本语法
结构
switch (表达式) {
case 值1:
代码块1;
break;
case 值2:
代码块2;
break;
default:
默认代码块;
}
案例4:根据星期输出活动
int day = 3;
switch (day) {
case 1:
System.out.println("周一:开会");
break;
case 2:
System.out.println("周二:写代码");
break;
case 3:
System.out.println("周三:测试");
break;
default:
System.out.println("休息日");
}
3.2 switch特性
-
支持的数据类型:
int
、char
、String
(Java 7+)、枚举 -
穿透问题:缺少
break
时,会继续执行后续case代码
案例5:利用穿透特性简化代码
int month = 2;
switch (month) {
case 1: case 3: case 5:
System.out.println("31天");
break;
case 2:
System.out.println("28天");
break;
default:
System.out.println("30天");
}
3.3 Java 12+新特性:箭头语法
switch (day) {
case 1 -> System.out.println("周一");
case 2 -> System.out.println("周二");
default -> System.out.println("其他");
}
四、综合应用与错误分析
4.1 综合案例
案例6:简易计算器
int num1 = 10, num2 = 5;
char operator = '+';
switch (operator) {
case '+':
System.out.println(num1 + num2);
break;
case '-':
System.out.println(num1 - num2);
break;
case '*':
System.out.println(num1 * num2);
break;
case '/':
System.out.println(num1 / num2);
break;
default:
System.out.println("无效运算符");
}
4.2 常见错误分析
-
错误1:if条件后加分号
if (age >= 18); { // 分号导致逻辑错误 System.out.println("成年"); }
错误2:switch的case值重复
switch (x) {
case 1: ...
case 1: ... // 编译报错
}
五、总结与练习
5.1 总结
-
if-else:适合范围判断、复杂条件
-
switch:适合等值判断、固定选项
-
核心注意点:
-
if
条件必须是布尔表达式 -
switch
的case
值不可重复
-
5.2 课后任务
-
编写程序判断BMI指数是否正常(BMI < 18.5偏瘦,18.5-24正常,>24偏胖)
-
使用
switch
实现月份天数查询(考虑闰年2月) -
预习下一节课:循环结构(for、while)
5.3 扩展挑战
-
用
switch
实现一个简单的命令行菜单系统(如选择1-4对应不同功能)