选择结构(二) switch选择结构

本课目标

掌握switch选择结构

能够综合运用选择结构解决问题

1.switch选择结构

switch 具有穿透性,结尾的 break 不能少

case后面的常量必须各不相同

default一般放在末尾

2.比较 switch 和多重 if 选择结构

相同点:都是用来处理多分支条件的结构

不同点:switch 选择结构只能处理等值条件判断的情况

多重if选择结构,没有switch的限制,特别适合某个变量处于某个连续区间的情况

3.Java中的选择结构

if选择结构,包括以下形式:

基本if选择结构:可以处理单一或组合条件的情况

if-else选择结构:可以处理简单的条件分支情况

多重if选择结构:可以处理分段的条件分支情况

嵌套if选择结构:可以处理复杂的条件分支情况

switch选择结构

多重分支并且条件判断是等值判断的情况

案例

1.为小明制定学习计划,星期一、三、五,学习编程;星期二、四、六,学习英语;星期日休息

2.

public class ShoppingMenu {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("欢迎使用我行我素购物管理系统");
        System.out.println("1.登陆系统");
        System.out.println("2.退出");
        System.out.print("请输入数字:\t");
        int num = sc.nextInt();

        switch (num){
            case 1:
                System.out.println("1.客户信息管理");
                System.out.println("2.购物结算");
                System.out.println("3.真情回顾");
                System.out.println("4.注销");
                System.out.println("请选择");
                num = sc.nextInt();
                switch (num){
                    case 1:
                        System.out.println("购物管理系统>客户信息管理");
                        System.out.println("1.显示所有客户信息");
                        System.out.println("2.添加客户信息");
                        System.out.println("3.修改客户信息");
                        System.out.println("4.查询客户信息");
                        break;
                    case 2:
                        System.out.println("购物管理系统>购物结算");
                        break;
                    case 3:
                        System.out.println("购物管理系统>真情回馈");
                        System.out.println("1.幸运大放送");
                        System.out.println("2.幸运抽奖");
                        System.out.println("3.生日问候");
                        break;
                    case 4:
                        System.out.println("购物管理系统>注销");
                        break;
                }
            case 2:
                break;
            default:
                System.out.println("输入有误,请重新输入");
        }
    }

}

3.

public class Commodity {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入消费金额:");
        double money = sc.nextDouble();
        System.out.println("是否参加优惠换购活动");
        System.out.println("1:满50元,加2元换购百事可乐饮料1瓶");
        System.out.println("2:满100元,加3元换购500ml可乐一瓶");
        System.out.println("3:满100元,加10元换购5公斤面粉");
        System.out.println("4:满200元,见10元课换购1个苏泊尔炒菜锅");
        System.out.println("5;满200元,加20元可换购欧莱雅爽肤水一瓶");
        System.out.println("0:不换购");
        System.out.println("请选择");
        int num = sc.nextInt();

        switch (num){
            case 1://满50元,加2元换购百事可乐饮料1瓶
                money += 2;
                if (money >= 50){
                    System.out.println("成功换购:百事可乐饮料1瓶");
                }else {
                    System.out.println("您的消费金额不满足参加此活动");
                }
                break;
            case 2://满100元,加3元换购500ml可乐一瓶
                money += 3;
                if (money >= 100){
                    System.out.println("成功换购:500ml可乐一瓶" );
                }else {
                    System.out.println("您的消费金额不满足参加此活动");
                }
                break;
            case 3://满100元,加10元换购5公斤面粉
                money += 10;
                if (money >= 100){
                    System.out.println("成功换购:5公斤面粉" );
                }else {
                    System.out.println("您的消费金额不满足参加此活动");
                }
                break;
            case 4://满200元,见10元课换购1个苏泊尔炒菜锅
                money += 10;
                if (money >= 200){
                    System.out.println("成功换购:1个苏泊尔炒菜锅" );
                }else {
                    System.out.println("您的消费金额不满足参加此活动");
                }
                break;
            case 5://满200元,加20元可换购欧莱雅爽肤水一瓶
                money += 20;
                if (money >= 200){
                    System.out.println("成功换购:欧莱雅爽肤水一瓶" );
                }else {
                    System.out.println("您的消费金额不满足参加此活动");
                }
                break;
            case 0://顾客不换购
                System.out.println("不换购");
                break;
            default:
                //顾客不换购
                System.out.println("输入有误,请重新输入");
        }
        System.out.println("本次消费总金额:" + money);

    }
}

总结

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值