• JAVA的选择结构(二)


    1.switch选择结构:
                            语法:
                                switch (key) {
                                    case value:
                                        
                                        break;
                                    case value:
                                        
                                        break;
                                    case value:
                                        
                                        break;
                                    default:
                                        
                                        break;
                                }
                                根据key去匹配value的值,如果value的值跟key相同则走case块中的代码,然后执行完毕后结束,如果所有case块都不匹配则会走default
                                如果想让case块执行完毕后跳出选择结构则在case块结尾处添加break
                            案例:
                                    韩嫣参加计算机编程大赛
                                    如果获得第一名,将参加麻省理工大学组织的1个月夏令营
                                    如果获得第二名,将奖励惠普笔记本电脑一部
                                    如果获得第三名,将奖励移动硬盘一个
                                    否则,不给任何奖励  
                                public class Demo01 {
                                    public static void main(String[] args) {
                                        Scanner input = new Scanner(System.in);
                                        System.out.println("请输入名次:");
                                        char count = input.next().charAt(0);
                                        /*
                                         *
                                         * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部
                                         * 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励
                                         */
                                        switch (count) {
                                            case '一':
                                                System.out.println("参加麻省理工大学组织的1个月夏令营 ");
                                                break;
                                            case '二':
                                                System.out.println("奖励惠普笔记本电脑一部");
                                                break;
                                            case '三':
                                                System.out.println("奖励移动硬盘一个");
                                                break;
                                            default:
                                                System.out.println("没有奖励!");
                                                break;
                                        }
                                    }
                                }
            2.注意问题:

                1.case后面的常量必须各不相同
                2.如果需要每个case执行完后跳出,在每个case后不要忘记写break;
                3.default块顺序可以变动,但要注意其执行顺序。通常,default块放在末尾,也可以省略

            3.多重if选择结构和switch比对

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

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

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

            4.总结选择结构:
                if选择结构
                基本if选择结构: 处理单一或组合条件的情况
                if-else选择结构:处理简单的条件分支情况
                多重if选择结构:处理复杂的条件分支情况
                嵌套if选择结构:用于较为复杂的流程控制

                switch选择结构
                多重分支并且条件判断是等值判断的情况

            5.使用hasNextInt()解决用户从控制台输入为非整型问题
                public class Demo02 {
                    public static void main(String[] args) {
                        Scanner input=new Scanner(System.in);
                        System.out.println("欢迎光临我行我素管理系统");
                        System.out.println(" 1.登录系统");
                        System.out.println(" 2.退出");
                        System.out.println("请选择:");
                        
                        if(input.hasNextInt())
                        {
                            int number=input.nextInt();
                            switch (number) {
                            case 1:
                                System.out.println("欢迎登录系统!!");
                                break;
                            case 2:
                                System.out.println("您退出了系统!!");
                                break;
                            default:
                                System.out.println("没有输入选项");
                                break;
                            }
                            
                            
                        }else{
                            System.out.println("请输入正确的数字:");
                        }
                    }
                }

    案例:1.韩嫣参加计算机编程大赛
        如果获得第一名,将参加麻省理工大学组织的1个月夏令营
        如果获得第二名,将奖励惠普笔记本电脑一部
        如果获得第三名,将奖励移动硬盘一个
        否则,不给任何奖励  
                                public class Demo01 {
                                    public static void main(String[] args) {
                                        Scanner input = new Scanner(System.in);
                                        System.out.println("请输入名次:");
                                        char count = input.next().charAt(0);
                                        /*
                                         *
                                         * 韩嫣参加计算机编程大赛 如果获得第一名,将参加麻省理工大学组织的1个月夏令营 如果获得第二名,将奖励惠普笔记本电脑一部
                                         * 如果获得第三名,将奖励移动硬盘一个 否则,不给任何奖励
                                         */
                                        switch (count) {
                                            case '一':
                                                System.out.println("参加麻省理工大学组织的1个月夏令营 ");
                                                break;
                                            case '二':
                                                System.out.println("奖励惠普笔记本电脑一部");
                                                break;
                                            case '三':
                                                System.out.println("奖励移动硬盘一个");
                                                break;
                                            default:
                                                System.out.println("没有奖励!");
                                                break;
                                        }
                                    }
                                }

    2.   public class Demo02 {
                    public static void main(String[] args) {
                        Scanner input=new Scanner(System.in);
                        System.out.println("欢迎光临我行我素管理系统");
                        System.out.println(" 1.登录系统");
                        System.out.println(" 2.退出");
                        System.out.println("请选择:");
                        
                        if(input.hasNextInt())
                        {
                            int number=input.nextInt();
                            switch (number) {
                            case 1:
                                System.out.println("欢迎登录系统!!");
                                break;
                            case 2:
                                System.out.println("您退出了系统!!");
                                break;
                            default:
                                System.out.println("没有输入选项");
                                break;
                            }
                            
                            
                        }else{
                            System.out.println("请输入正确的数字:");
                        }
                    }
                }

  • 相关阅读:
    str_replace
    [转载][HTML] 普通的DIV分层以及版透明效果
    [PHP] PHP Excel导出 以及编码问题
    [FreeProxy]FreeProxy代理服务器端软件介绍 之 sock 5
    修改MySQL的递增的起始值
    台哥原创:java五子棋源码(人机对弈)
    java游戏开发杂谈
    java游戏开发杂谈
    java游戏开发杂谈
    java游戏开发杂谈
  • 原文地址:https://www.cnblogs.com/ws1149939228/p/9031941.html
Copyright © 2020-2023  润新知