Java中switch语句+例题输出当前月份

学习目标:

掌握switch的使用

学习内容:

1、switch语法

<font color=#000000 size=3>
switch(表达式) {
case 常量1: 语句体1; break
....
case 常量2: 语句体2; break
default: 语句体3;
}
switch中表达式可以为short、int、byte、char

case是常量,用于与表达式进行比较,如果为false则执行下一个case,如果为true则通过后面的break跳出switch循环,执行循环外的代码,如果没有一个case被匹配到则执行default语句。

流程图如下:
流程图

代码如下:

int days = 3;
        switch (days) {
            case 1: System.out.println("星期一"); break;
            case 2: System.out.println("星期二"); break;
            case 3: System.out.println("星期三"); break;
            case 4: System.out.println("星期四"); break;
            case 5: System.out.println("星期五"); break;
            case 6: System.out.println("星期六"); break;
            case 7: System.out.println("星期天"); break;
        }

运行效果:

星期三

Process finished with exit code 0

2、switch穿透
break可以省略,但是建议不要省略,省略后会出现switch穿透,穿透后会出现当while循环体内的case被正确匹配到后,后面的case判断会失效,也就是后面的语句都会执行,直到匹配到下一个break或者跳出循环。

代码如下:

int days = 3;
switch (days) {
    case 1: System.out.println("星期一"); break;
    case 2: System.out.println("星期二");
    case 3: System.out.println("星期三");
    case 4: System.out.println("星期四");
    case 5: System.out.println("星期五");
    case 6: System.out.println("星期六"); break;
    case 7: System.out.println("星期天"); break;
}

运行效果:

星期三
星期四
星期五
星期六

Process finished with exit code 0

3、例题:(输出当前月份)

Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int day = sc.nextInt();
switch(day) {
    case 12 :
    case 1 :
    case 2 : { System.out.println("冬季"); }; break;
    case 3 :
    case 4 :
    case 5 : { System.out.println("春季"); }; break;
    case 6 :
    case 7 :
    case 8 : { System.out.println("夏季"); }; break;
    case 9 :
    case 10 :
    case 11 : { System.out.println("冬季"); }; break;
    default : { System.out.println("您输入的月份有误");} break;
}
请输入月份:
11
冬季

Process finished with exit code 0

总结:

switch需要熟练掌握

posted @ 2021-03-12 13:16  Yan_Yang  阅读(496)  评论(0编辑  收藏  举报