择结构switch
switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。
在判断条件比较多,实现起来代码过长,会不便于阅读时。Java中提供了一种switch语句来实现这种需求,在switch语句中使用switch关键字来描述一个表达式,使用case关键字来描述和表达式结果比较的目标值,当表达式的值和某个目标值匹配时,会执行对应case下的语句。
例如:
switch(用于表示星期的数字) { case 1 : 输出星期一; break; case 2 : 输出星期二; break; case 3 : 输出星期三 break; case 4 : 输出星期四; break; case 5 : 输出星期五; break; case 6: 输出星期六; break; case 7: 输出星期天; break; }
1 上面改写后的伪代码便描述了switch语句的基本语法格式,具体如下: 2 public class SwitchDemo01 { 3 public static void main(String[] args) { 4 int week = 5; 5 switch (week) { //表达式的值是5 6 case 1: //case的值是1 7 System.out.println("星期一"); //当case与表达式(week)相等时输出 8 break; //当case与表达式(week)相等时输出后结束 9 case 2: //case的值是2 10 System.out.println("星期二"); //当case与表达式(week)相等时输出 11 break; //当case与表达式(week)相等时输出后结束 12 case 3: //case的值是3 13 System.out.println("星期三"); //当case与表达式(week)相等时输出 14 break; 15 case 4: //case的值是4 16 System.out.println("星期四"); //当case与表达式(week)相等时输出 17 break; 18 case 5: //case的值是5 19 System.out.println("星期五"); //当case与表达式(week)相等时输出【已相等】 20 break; //已相等,结束 21 case 6: //case的值是6 22 System.out.println("星期六"); 23 break; 24 case 7: //case的值是7 25 System.out.println("星期天"); 26 break; 27 default: //如果找不到相等的,找default 28 System.out.println("输入的数字不正确..."); //输入其他会提示("输入的数字不正确...);
29 break;
30 }
31 }
32 }
结果:星期五
在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。例如,要判断一周中的某一天是否为工作日,同样使用数字1~7来表示星期一到星期天,当输入的数字为1、2、3、4、5时就视为工作日,否则就视为休息日。
例:
1 public class Pd { 2 public static void main(String[] args) { 3 int week = 2; 4 switch (week) { 5 case 1: 6 case 2: 7 case 3: 8 case 4: 9 case 5: 10 // 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同 11 System.out.println("今天是工作日"); 12 break; 13 case 6: 14 case 7: 15 // 当 week 满足值 6、7 中任意一个时,处理方式相同 16 System.out.println("今天是休息日"); 17 break; 18 } 19 } 20 }
结果:今天是工作日
上述代码中,当变量week值为1、2、3、4、5中任意一个值时,处理方式相同,都会打印“今天是工作日”。同理,当变量week值为6、7中任意一个值时,打印“今天是休息日”。