switch语句:
关于switch语句:
1.switch语句也是属于选择结构,也是分支结构。
2.switch语句的语法结构:
一个比较完整的switch语句应该这样编写,
switch(int或string类型的字面值或变量){
case int或string类型的字面值或变量;
java语句;
……
break;
case int或string字面值或变量;
Java语句;
……
break;
……
default;
java语句;
……
}
3.switch语句执行原理:
switch后面小括号里面的数值与case后面的数值进行匹配,匹配成功分支执行。按照自上而下的顺序依次匹配。
4.匹配成功的分支执行,分支当中最后有“break”语句的话,整个switch语句终止。
5.匹配成功的分支执行,分支当中没有“break”语句的话,直接进入下一个分支执行(不进行匹配),这种现象被称为case穿透现象。【提供break语句可以避免穿透】
6.所有的分支都没有匹配成功,当有default的语句,会执行default分支当中的程序。
7.switch后面和case后面只能是int或者string类型的值,不能是其他。
当然byte,short,char也可以直接写到switch和case后面,因为它们可以进行自动类型转化。
byte,short,char可以自动转换成int类型。(jdk版本要在7以及以上)
8.case可以合并。
//接受用户的输入:
//查询星期几,谁值班
public class SwitchTest
{
public static void main(String[] args){
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.println("请输入数字:");
int num = s.nextInt();
switch(num){
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("今天是gay值班");
break;
default:
System.out.println("对不起,请重新输入");
}
}
}
case合并:
public class SwitchTest
{
public static void main(String[] args){
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.println("请输入数字:");
int num = s.nextInt();
switch(num){
case 1:
System.out.println("今天是小明值班");
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("今天是钟离值班");
case 7:
System.out.println("今天是gay值班");
default:
System.out.println("对不起,请重新输入");
}
}
}
public class SwitchTest01
{
public static void main(String[] args){
java.util.Scanner s=new java.util.Scanner(System.in);
System.out.println("请输入今天星期几:");
String day=s.next();
switch (day){
case "星期一":
System.out.println("今天是小明值班");
break;
case "星期二":
System.out.println("今天是小红值班");
break;
case "星期三":
System.out.println("今天是老八值班");
break;
case "星期四":
System.out.println("今天是新型值班");
break;
case "星期五":
System.out.println("今天是奥里给值班");
break;
case "星期六":
System.out.println("今天是钟离值班");
break;
case "星期天":
System.out.println("今天是gay值班");
break;
default:
System.out.println("对不起,请重新输入");
}
}
}