第四章:switch选择结构

目录

1、switch选择结构

2、switch与多重if选择结构的区别

3、处理输入异常


1、switch选择结构

switch (表达式) {
    case 常量 1:    //计算表达式的值,如果等于常量1;    
        //语句;
        break;    //如果需要每个case执行完后跳出,在每个case后不要忘记写break;
    case 常量 2:
        //语句;
        break;
        .......
     default:    //如果没有找到匹配的值;
        //语句;
        break;
}

(1)注意事项:

        ①表达式可用类型:intshortbytechar枚举型String类型(jdk1.5版本以后);

        ②switch中case常量值不能相同,且冒号(" : ")不可缺失;

        ③break的作用是结束switch选择结构,若没有break,会产生“case穿透”现象(执行多个case),这个现象可以合理的使用;

        ④default语句可以写在switch结构中的任意位置,但一般都写在末尾;

        ⑤default语句可以省略不写,当表达式的值与所有case常量值不匹配并且没有default语句时,switch结构不执行;

//例:
int choose = input.nextInt(); //输入的月份
switch (choose) {
    case 1: //没有写break,会产生“case穿透”现象(执行多个case),合理的使用
    case 2:
    case 3:
        System.out.println("一起宅家!");
        break;
    case 7:    //7月份推荐;
        System.out.println("7月:青岛、大连,一起吹吹海风吧!");
        break;
    case 8:
        System.out.println("8月:西藏,一个充满神秘的圣地!");
        break;
        ... ...
    default:    //其他月份
        System.out.println("进入“去哪儿游”常规推荐");
        break;
}

2、switch与多重if选择结构的区别

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

(2)不同点:

        ①语法不同;

        ②switch选择结构:只能处理等值条件判断的情况;

        ③多重if选择结构:既可以处理等值条件判断的情况,也可以特别适合某个变量的取值范围处于某个连续区间情况;

3、处理输入异常

(1)使用Scanner对象的hasNextInt()方法,可以判断用户从键盘输入的字符是否是合法的数字;

(2)Scanner类的常用方法:

方法

描述

input.hasNext()  

判断输入的数据是否为String类型

input.hasNextInt()  

判断输入的数据是否为int类型

input.hasNextDouble()  

判断输入的数据是否为double类型

input.hasNextBoolean()

判断输入的数据是否为boolean类型

//例:
if(input.hasNextInt()) {
    int num = input.nextInt();
    switch (num) {
        case 1:  
        //显示主菜单
        case 2:
            System.out.println("注册功能待实现");
            break;
        case 3:
        //退出系统
        default:
            System.out.println("您的输入有误!");
            break;
     }
} else {
    System.out.println("请输入正确的数字!");
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值