学会使用switch分支结构,理解流程
Demo1
目标: 学会使用switch分支结构,理解流程,处理备忘录问题 switch (表达式…){}
表达式类型只能是byte,short,int,char 不支持double,float,long
case给出的值不允许重复,且只能是字面量,不能是变量
不能忘记写break,否则会出现穿透现象
备忘录
周一:埋头苦干,解决bug
周二:请大牛程序员帮忙
周三:今晚喝啤酒,小龙虾,烧烤
周四:主动帮新来的女程序员解决bug
周五:winer winer chicken dinner
周六:与王婆介绍的小芳相亲
周日:郁郁寡欢,准备上班
创建SwitchDemo
package com.mumei.branch;
import java.util.Scanner;
public class SwitchDemo2 {
public static void main(String[] args) {
String weekday;
System.out.println("what's the week today?");
Scanner sc = new Scanner(System.in);
weekday = sc.next();
switch (weekday){
case "周一":
System.out.println("埋头苦干,解决bug");
break;
case "周二":
System.out.println("请大牛程序员帮忙");
break;
case "周三":
System.out.println("今晚喝啤酒,小龙虾,烧烤");
break;
case "周四":
System.out.println("主动帮新来的女程序员解决bug");
break;
case "周五":
System.out.println("winer winer chicken dinner");
break;
case "周六":
System.out.println("与王婆介绍的小芳相亲");
break;
case "周日":
System.out.println("郁郁寡欢,准备上班");
break;
default:
System.out.println("数据有误!");
}
}
}
Demo2
表达式类型只能是byte,short,int,char 不支持double,float,long
case给出的值不允许重复,且只能是字面量,不能是变量
不能忘记写break,否则会出现穿透现象
实例:
package com.mumei.branch;
public class SwitchDemo3 {
public static void main(String[] args) {
char a = 20;
switch (a){
case 20:
System.out.println("母亲的愤怒已是过眼云烟");
break;
}
}
}
Demo3 例题
需求:用户输入月份可以展示该月份的天数
1,3,5,7,8,10,12
2
4,6,9,11
package com.mumei.branch;
import java.util.Scanner;
public class SwitchDemo4 {
public static void main(String[] args) {
int month;
Scanner sc = new Scanner(System.in);
System.out.println("Please input the month:");
month = sc.nextInt();
switch (month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println(month+"has 31 days");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println(month+"has 30 days");
break;
case 2:
System.out.println(month+"has 28 days");
break;
default:
System.out.println("你的输入的无效数据");
//case中没有写break会出现穿透现象
//存在多个case分支的功能代码是一样时,可以用穿透性把流程集中到同一处处理,这样可以简化代码
}
}
}