1:switch
语法结构
switch
case * :
case * :
2:switch后面是(),()中表达式返回的结果是一个等值,这个等值的类型可以为:
Int,byte,short,char,String,枚举类型
3:这个()中的等值会依次跟case后面的值进行比较,如果匹配成功,就执行:后面的代码
4:为了防止代码的“穿透“效果:在每个分支后面加上一个关键词break,遇到break这个分支就结束了
5:类似else的“兜底”“备胎”的分支:default分支
6:default分支可以写在任意的位置上,但是如果没有在最后一行,后面必须加上break关键字,
如果在最后一行的话,break可以省略
7:相邻分支逻辑是一样的,那么就可以只保留最后一个分支,上面的都可以省去不写了
8:switch分支和for分支的区别:
表达式是等值判断的话:if ,switch都可以
如果表达式是区间判断的情况: if最好
9:switch应用场合:就是等值判断,等值的情况比较少的情况下
例子源代码如下所示:
package dab;
public class switch分支 {
public static void main(String[] arge) {
int score=78;
switch(score/10) {
case 10 :
System.out.println("A级");
break;
case 9 :
System.out.println("B级");
break;
case 8 :
System.out.println("C级");
break;
case 7 :
System.out.println("D级");
break;
case 6 :
System.out.println("E级");
break;
case 5 :
System.out.println("E级");
break;
case 4 :
System.out.println("E级");
break;
case 3 :
System.out.println("E级");
break;
case 2 :
System.out.println("E级");
break;
case 1 :
System.out.println("E级");
break;
}
System.out.println();
}
}
int score=78;
运行代码应该为D级
如下所示:
int score =123;
我们在源代码的基础上加上
default:
System.out.println("成绩错误");
break;
全部代码如下所示:
package dab;
public class switch分支 {
public static void main(String[] arge) {
int score=123;
switch(score/10) {
case 10 :
System.out.println("A级");
break;
case 9 :
System.out.println("B级");
break;
case 8 :
System.out.println("C级");
break;
case 7 :
System.out.println("D级");
break;
case 6 :
System.out.println("E级");
break;
case 5 :
System.out.println("E级");
break;
case 4 :
System.out.println("E级");
break;
case 3 :
System.out.println("E级");
break;
default:
System.out.println("成绩错误");
break;
case 2 :
System.out.println("E级");
break;
case 1 :
System.out.println("E级");
break;
}
System.out.println();
}
}
代码执行如下:
如上第五点所说一样:
default分支可以写在任意的位置上,但是如果没有在最后一行,后面必须加上break关键字,
如果在最后一行的话,break可以省略;
备注:如有错误,请谅解!
此文章为本人学习笔记,仅供参考!如有重复!!!请联系本人!