java基础06 switch

public class SwitchDemo01 {

    /**
     * 韩嫣参加计算机编程大赛
    如果获得第一名,将参加麻省理工大学组织的1个月夏令营
    如果获得第二名,将奖励惠普笔记本电脑一部
    如果获得第三名,将奖励移动硬盘一个
    否则,不给任何奖励
     */
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入比赛的名次:");
        int num = scanner.nextInt();

        /** 多重if 适合于 区间的判断
         * if (num == 1) {
            System.out.println("参加麻省理工大学组织的1个月夏令营");
        } else if (num == 2) {
            System.out.println("奖励惠普笔记本电脑一部");
        } else if (num == 3) {
            System.out.println("奖励移动硬盘一个");
        } else {
            System.out.println("回家继续努力学习java!");
        }*/

        /**
         * 使用swtich 做等值的判断
         * 
         * 表达式的取值:  byte  short  int  char  Enum(枚举)  String(1.7+)
         * switch(表达式){
             case  常量1:
                       //代码块
                    break;
             case  常量2:
                       //代码块
                    break;    
             default:
                       //代码块   没有找到匹配项  会执行default
                    break; 
           }
         */

        switch (num) {
        case 1:
            System.out.println("参加麻省理工大学组织的1个月夏令营");
            break;
        case 2:
            System.out.println("奖励惠普笔记本电脑一部");
            break;
        case 3:
            System.out.println("奖励移动硬盘一个");
            break;
        default:
            System.out.println("回家继续努力学习java!");
            break;
        }

    }
}
1.根据名次获得奖励
public class Demo02 {
    // break 和 return
    public static void main(String[] args) {
        /**    
         *01.  编译报错 
         * switch (3) {
            case 1:
                System.out.println("参加麻省理工大学组织的1个月夏令营");
            case 2:
                System.out.println("奖励惠普笔记本电脑一部");
            default:
                System.out.println("回家继续努力学习java!");
                return; // 跳出当前的方法 后续的所有代码都不会执行
            }
            System.out.println("程序结束");*/

        /**
         * 02.  编译报错
         *  switch (3) {
          default:
                  System.out.println("回家继续努力学习java!");
            case 1:
                System.out.println("参加麻省理工大学");
            case 2:
                System.out.println("奖励惠普笔记本电脑一部");
                      return;
         
            }
            System.out.println("程序结束");*/

        /**        
         * 03.  正常
         * switch (3) {
                default:
                    System.out.println("回家继续努力学习java!");
                    return; // 跳出当前的方法 后续的所有代码都不会执行
                case 1:
                    System.out.println("参加麻省理工大学组织的1个月夏令营");
                case 2:
                    System.out.println("奖励惠普笔记本电脑一部");
                }
                System.out.println("程序结束");*/

        /**
         * 04.  正常    
         * switch (3) {
            case 1:
                System.out.println("参加麻省理工大学组织的1个月夏令营");
            case 2:
                System.out.println("奖励惠普笔记本电脑一部");
                break;
            default:
                System.out.println("回家继续努力学习java!");
                return; // 跳出当前的方法 后续的所有代码都不会执行
            }
            System.out.println("程序结束");*/

    }
}
2.常见错误
public static void main(String[] args) {
        /**
         * break  和 return  :之后不允许出现语句!
         * break:跳出switch以及当前的循环结构
         * return:跳出当前的方法体
         */
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入您的成绩:");
        int score = scanner.nextInt();
        switch (score) {
        case 1:
            System.out.println("参加麻省理工大学组织的1个月夏令营");
        case 2:
            System.out.println("奖励惠普笔记本电脑一部");
        case 3:
            System.out.println("奖励移动硬盘一个");
            break;
        default:
            System.out.println("没有奖励");
            return; // 跳出 当前的方法体
        }
        // main方法的输出句话是否能执行?
        System.out.println("大家辛苦了!");
    }
3.break和return
public class SwitchDemo03 {

    public static void main(String[] args) {
        System.out.println("**************1级菜单***************");
        System.out.println("1.登录系统");
        System.out.println("2.退出系统");
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入选择:");
        switch (scanner.nextInt()) { // 直接接收用户的输入
        case 1:
            System.out.println("**************2级菜单***************");
            System.out.println("1.客户信息管理");
            System.out.println("2.购物结算");
            System.out.println("3.真情回馈");
            System.out.println("4.注销");
            System.out.println("请您输入选择:");
            // 再次接收用户的输入
            int answer = scanner.nextInt();
            switch (answer) {
            case 1:
                System.out.println("1.进入了客户信息管理");
                break;
            case 2:
                System.out.println("2.购物结算");
                break;
            case 3:
                System.out.println("3.真情回馈");
                break;
            case 4:
                System.out.println("4.注销");
                break;
            }
            break;
        case 2:
            System.out.println("感谢您的使用!退出系统");
            break;
        }

    }
}
4.购物选择
public class HasNextDemo04 {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入一个整数:");
        boolean flag = scanner.hasNextInt();
        System.out.println(flag);
        System.out.println("您输入的数字是:" + scanner.next());

        /**
         * hasNext...()系列
         * 01.获取用户的输入
         * 02.判断用户的输入
         *     if (scanner.hasNextInt()) {
            System.out.println("您输入的是整数");
        } else {
            System.out.println("您输入的不是整数");
        }
         */
    }
}
5.hasNext系列
public class SwitchDemo05 {
    public static void main(String[] args) {
        // 定义一个变量 保存换购增加的金额
        int extra = 0;
        int choose = 0; // 用户默认的选择
        Scanner scanner = new Scanner(System.in);
        System.out.println("请您输入消费金额:");
        double money = scanner.nextDouble();
        System.out.println("是否参加优惠换购活动:");
        String answer = scanner.next();
        if (answer.equalsIgnoreCase("y")) {
            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.print("请输入选择:");
            if (scanner.hasNextInt()) { // 判断用户输入是否是整数
                // 记录用户的选择
                choose = scanner.nextInt();
                switch (choose) {
                case 1:
                    if (money >= 50) {
                        extra = 2;
                    }
                    break;
                case 2:
                    if (money >= 100) {
                        extra = 3;
                    }
                    break;
                case 3:
                    if (money >= 100) {
                        extra = 10;
                    }
                    break;
                case 4:
                    if (money >= 200) {
                        extra = 10;
                    }
                    break;
                case 5:
                    if (money >= 200) {
                        extra = 20;
                    }
                    break;
                case 0:
                    System.out.println("您选择了不换购!");
                    break;
                }
            } else {
                System.out.println("您输入的不正确!");
            }

        } else if (answer.equalsIgnoreCase("n")) {
            System.out.println("谢谢您的光临!");
        } else {
            System.out.println("您的输入不正确!");
        }
        // 结账
        double totalMoney = money + extra;
        System.out.println("您共消费:" + totalMoney);
        switch (choose) {
        case 1:
            System.out.println("成功换购百事可乐饮料1瓶");
            break;
        case 2:
            System.out.println("成功换购500ml可乐一瓶");
            break;
        case 3:
            System.out.println("成功换购5公斤面粉");
            break;
        case 4:
            System.out.println("成功换购1个苏泊尔炒菜锅");
            break;
        case 5:
            System.out.println("成功换购欧莱雅爽肤水一瓶");
            break;
        default:
            System.out.println("没有任何换购");
            break;
        }
    }
}
6.优惠换购活动

 

posted on 2017-04-12 16:39    阅读(410)  评论(0编辑  收藏  举报