A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© haward2015 中级黑马   /  2016-6-8 13:19  /  345 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

switch语句(掌握)
        (1)格式:
                switch(表达式) {
                        case 值1:
                                语句体1;
                                break;
                        case 值2:
                                语句体2;
                                break;
                        ...
                        default:
                                语句体n+1;
                                break;
                }
               
                格式解释说明:
                        switch:说明这是switch语句。
                        表达式:可以是byte,short,int,char
                                JDK5以后可以是枚举
                                JDK7以后可以是字符串
                        case:后面的值就是要和表达式进行比较的值
                        break:表示程序到这里中断,跳出switch语句
                        default:如果所有的情况都不匹配,就执行这里,相当于if语句中的else
        (2)面试题
                switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
                        可以,不可以,JDK7以后可以
        (3)执行流程:
                A:首先计算表达式的值
                B:和每一个case进行匹配,如果有就执行对应的语句体,看到break就结束。
                C:如果没有匹配,就执行default的语句体n+1。
        (4)注意事项:
                A:case后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
                B:default可以省略吗?
                        可以省略,但是不建议,因为它的作用是对不正确的情况给出提示。
                        特殊情况:
                                case就可以把值固定。
                                A,B,C,D
                C:break可以省略吗?
                        可以省略,但是结果可能不是我们想要的。
                        会出现一个现象:case穿透。
                        最终我们建议不要省略
                D:default一定要在最后吗?
                        不是,可以在任意位置。但是建议在最后。
                E:switch语句的结束条件
                        a:遇到break就结束了
                        b:执行到末尾就结束了
        (5)案例:
                A:键盘录入一个数字(1-7),输出对应的星期几。
                B:单项选择题
                C:键盘录入一个字符串的问题
                        String s = sc.nextLine();
                D:根据给定的月份,输出对应的季节
        (6)if语句和switch语句各自的场景
                A:if
                        针对boolean类型的判断
                        针对一个范围的判断
                        针对几个常量的判断
                B:switch
                        针对几个常量的判断

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马