if选择结构解析(二)

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("\t\t1.登录系统");
                    System.out.println("\t\t2.退出");
                    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("请输入正确的数字:");
                    }
                }
            }

猜你喜欢

转载自www.cnblogs.com/bk1234/p/9031709.html