C/C++教程

switch语句以及case的穿透现象

本文主要是介绍switch语句以及case的穿透现象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

switch语句:

/*
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;....
default:
语句体n+1;
break;

表达式:将要被匹配的值。取值可以是byte、short、int、char。jdk5后可以是枚举。jdk7后可以是String。
case:后面跟的值为与表达式匹配的值。
break:表示中断,跳出switch语句。
default:所有情况都不匹配,就执行该处的内容。类似于if..else中的else。
}
*/
import java.util.Scanner;
public class Demo3_1{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int week =sc.nextInt();
//需求:根据week变量记录的数值,程序输出对应的星期。
//比如:输入3,输出今天星期三。
switch(week){
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;
default:
System.out.println("您的输入有误");
break;
}
}
}

case穿透效果:

/*
case穿透效果:如果case后面不加break,那么case会开始穿透。
表现:当case穿透开始后,后续的case语句就不会有匹配作用,内部的语句都会执行。直到看见break或者switch语句执行完毕后才会结束。
*/
import java.util.Scanner;
public class Demo3_2{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int week =sc.nextInt();
//需求:根据week变量记录的数值,1-5输出工作日,6-7输出休息日。
//比如:输入3,输出工作日。
switch(week){
case 1:    //不加break,case开始穿透
case 2:
case 3:
case 4:
case 5:
System.out.println("工作日");
break;    //停止,结束switch语句。
case 6:
case 7:
System.out.println("休息日");
break;
default:
System.out.println("您的输入有误");
break;
}
}
}

这篇关于switch语句以及case的穿透现象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!