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需要熟练掌握