- 多选择结构还有一个实现方式就是switch case 语句。
- switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
- 看源码
- 语法
- switch 语句中的变量类型可以是:
- byte、short、int或者char.
- 从Java SE 7 开始
- switch 支持字符串 String 类型了
- 同时 case 必须为字符串常量或字面量。
例:输入一个评分等级,判断成绩。
仔细看下方代码!!!
package com.lijianhua.struct;
import java.util.Scanner;
public class SwitchDemo01 {
public static void main(String[] args) {
//case穿透 //switch 匹配一个具体的值
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的评分:");
//jdk7的新特性,表达式结果可以是字符串!!!
//字符的本质还是数字
String grade = scanner.nextLine();
//反编译 java---class(字节码文件)-----反编译(通过IDEA)
switch (grade){
case "A":
System.out.println("优秀");
break; //可选,如果你不写就会继续执行以下语句,(case穿透)并且不会检查是否符合条件,继续执行。写了 终止switch语句
case "B":
System.out.println("良好");
break;
case "C":
System.out.println("及格");
break;
case "D":
System.out.println("再接再厉");
break;
case "E":
System.out.println("挂科");
break;
default:
System.out.println("成绩不合法");
}
scanner.close();
}
}
case穿透:当你符合其中一个条件后,如果没有使用break;结束语句,
则之后的case语句都会被穿透,直接执行下方语句。
例:如果garde赋值为A,符合case"A",且没有break;
则下方语句case被穿透,直到下一个break; 或者 完成全部语句
输出结果为:
优秀
良好
switch (grade){
case "A":
System.out.println("优秀");
case "B":
System.out.println("良好");
break;
case "C":
System.out.println("及格");
break;
case "D":
System.out.println("再接再厉");
break;
case "E":
System.out.println("挂科");
break;
default:
System.out.println("成绩不合法");
}