switch case语句
switch case用来判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
switch case规则:
-
switch语句中变量类型可以是:byte、short、int、char。从Java SE 7开始,switch支持String类型,同时case必须为字符串常量
-
switch语句可以拥有多个case,每个case后面跟一个要比较的值和冒号
-
case语句中的值的数据类型必须与变量的数据类型相同
-
当变量的值与case语句的值相等,case语句之后的语句开始执行,直到出现break语句才会跳出switch
-
当遇到break时,switch终止。程序跳转到switch后面的语句执行。case不必须要包含break。如果没有break出现,程序会继续执行下一条case,直到出现break
-
switch可以包含一个default分支,该分支是switch的最后一个分支,该分支可以在任何位置,但建议写在最后。default在没有case的值和变量相等时执行。default不需要break。
语法:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//可以有任意数量的case
default: //可选
//语句
}
switch case执行时,一定会先进行匹配。匹配成功返回当前case,再根据是否有break,判断是否需要继续输出,或者跳出判断
实例:
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'C';
switch (grade){
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("及格");
break;
default:
System.out.println("未知");
}
System.out.println("你的等级为:" + grade);
//Java技术学习交流群:434587027
}
}
以上代码编译结果如下:
及格
你的等级为:C
如果case中没有break语句,匹配成功后,从当前case开始,后续的所有case都会被输出
public class SwitchDemo01 {
public static void main(String[] args) {
char grade = 'A';
switch (grade){
case 'A':
System.out.println("优秀");
case 'B':
System.out.println("良好");
case 'C':
System.out.println("及格");
default:
System.out.println("未知");
}
System.out.println("你的等级为:" + grade);
//Java技术学习交流群:434587027
}
}
以上代码编译结果如下:
优秀
良好
及格
未知
你的等级为:A