编程自学指南:java程序设计开发,控制结构(if-else、switch),什么是控制结构?if-else语句

java程序设计开发,控制结构(if-else、switch)
学习目标

  1. 掌握if-elseswitch的语法结构

  2. 能根据需求选择合适的分支结构

  3. 理解代码执行流程并避免常见逻辑错误

  4. 解决实际生活中的条件判断问题


一、课程引入

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特性

  • 支持的数据类型intcharString(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条件必须是布尔表达式

    • switchcase值不可重复

5.2 课后任务

  1. 编写程序判断BMI指数是否正常(BMI < 18.5偏瘦,18.5-24正常,>24偏胖)

  2. 使用switch实现月份天数查询(考虑闰年2月)

  3. 预习下一节课:循环结构(for、while)

5.3 扩展挑战

  • switch实现一个简单的命令行菜单系统(如选择1-4对应不同功能)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zl515035644

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值