java中switch条件_Java的switch条件语句
switch (表达式){
case 常量1:
// 代码块1;
break;
case 常量2:
// 代码块2;
break;
default:
// 代码块n;
break;
}
关键字说明switch:表⽰条件表达式,括号⾥的值是⼀个规定数据类型的值。
case:表⽰条件分⽀,case后⾯跟⼀个常量,每个case后⾯的值必须不⼀样。case的个数可以为0个。
default:表⽰默认分⽀,default可以省略,通常放在最后。
break:表⽰“停⽌”,跳出当前switch语句。
switch⽀持的数据类型
switch()括号中的表达式的结果的类型只能是特定类型,我们将⼀个double类型的变量放⼊,发现编译报错:Cannot switch on a value of type double. Only convertible int values, strings or enum variables are permitted。
不难看出这⾥括号中只⽀持是int,String,enum型的。
由于java中的类型的⾃动转型,byte、char、short这三种可以⾃动转换为int型的类型括号中也⽀持。
switch语句表示范围
由于java中包装类的⾃动拆箱,Integer、Byte、Char、Short这四种类型括号中也⽀持。
总结来说:switch()括号中的表达式⽀持int、String、enum以及可以⾃动转型为int的其他类型。
注意
在Java1.6中表达式的类型只能为int和enum,在java1.7后⽀持了对String的判断,String类型⽐较特殊。public class Main {
public static void main(String[] args) {
char grade = 'C';
switch(grade)
{
case 'A' :
System.out.println("优秀");
break;
case 'B' :
case 'C' :
System.out.println("良好");
break;
case 'D' :
System.out.println("及格");
case 'F' :
System.out.println("你需要再努⼒努⼒");
break;
default :
System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
}
}
执⾏结果为:良好
你的等级是 C
说通俗⼀点就是当前的值,与下⾯的⼏个值对⽐,如果相同的,就执⾏当前的case,如果不到对应的值,就执⾏最后默认的default中的代码。