switch语句:
1、switch语句也是选择语句,也可以叫分支语句。
2、switch语句的语法格式
switch(值){
case 值1:
java语句;
java语句;…
break;
case 值2:
java语句;
java语句;…
break;
case 值3:
java语句;
java语句;…
break;
default:
java语句;
}
以上是一个完整的switch语句:
其中:break;语句不是必须的。default分支也不是必须的。
switch语句支持的只有哪些?
支持int类型以及String类型。
但一定要注意JDK的版本,JDK8之前不支持String类型,只支持int。
在JDK8之后,switch语句开始支持字符串String类型。
switch语句本质上是只支持int和String,但是byte,short,char也可以使用在switch语句当中,因为byte short char可以进行自动类型转换。
switch语句中”值”与”值1”、”值2”比较的时候会使用”==”进行比较。
3、switch语句的执行原理
拿"值"与"值1"进行比较,如果相同,则执行该分支中的java语句,<br /> 然后遇到"break;"语句,switch语句就结束了。<br /> <br /> 如果"值"与"值1"不相等,会继续拿"值"与"值2"进行比较,如果相同,则执行该分支中的java语句,然后遇到break;语句,switch结束。<br /> <br /> 注意;如果分支执行了,但是分支最后没有"break;",此时会发生case穿透现象。<br /> <br /> 所有的case都没有匹配成功,那么最后default分支会执行。
public class SwitchTest01{
public static void main(String[] asge){
// 分析这个程序是否能够编译通过?
// switch只支持int和String类型。
// 错误:不兼容的类型:从long转换到int可能会有损失
/*
long x = 100L;
switch(x){
}
*/
//switch也支持字符串String类型
//switch("abc"){}
// 写一个完整的switch语句
// 接收键盘输入,根据输入的数字来判断星期几。
// 0 星期日,1 星期一,...
java.util.Scanner s = new java.util.Scanner(System.in);
System.out.print("请输入今天星期几:");
int week = s.nextInt();
switch(week){
case 0:
System.out.println("星期日");
break;
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;
default:
System.out.println("对不起您输入的数字无效");
}
}
}