格式:
Switch(表达式){ * case值1: * 语句体1; * break; * case值2: * 语句体2; * break; * ... * default: * 语句体n+1; * [break;] //可选
}
格式说明:
1.表达式:取值为byte,short,int,char,JDKS5以后可以是枚举;
JDK7以后可以是string;
2.case:后跟和表达式相比较的值;
3.break:表示结束,中断,用来结束Switch语句;
default后的break可省;
4.default: 表示与case后的所有值都不匹配时,就执行该语句,类似于if语句中的else;
执行流程:
1. 首先计算Switch后(表达式)的值;
2. 与case后的值相比较,如果有对应的值,就执行相应语句后面的语句,在执行过程中遇见break就结束;
3. 如果所有的case后面的值都与表达式的值不匹配,就执行default后的语句;
4. case穿透:
switch (week){
case 1:
System.out.println("张三");
break;
case 2:
System.out.println("李四");
//break;
case 3:
System.out.println("王五");
break;
default:
system.out.println("你的输入有误")
}
当我们省略了case语句后面的break,当我们在控制台输入2的时候对应控制台输出的结果成了李四王五;
注:在Switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值得情况下,继续向下运行,直到遇到break结束,或整体Switch语句结束;
Switch例:输入1-7控制台输出对应星期
import java.util.Scanner;
public class text037 {
public static void main(String[] args) {
System.out.println("开始");
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个星期数: ");
int week=scanner.nextInt();
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("您输入的值有误");
}
System.out.println("结束");
}
}
心之所向,便是晴天,加油吧少年~