标准语法
switch(/*整型、字符或字符串表达式*/){
case 值1:
case 值2: break;
case 值n:
default:
}
语法规则
switch入口限制
switch后面括号里面的内容可以使用
- 整型(byte、short、int、long)
- 字符型(char)
- 字符串(String)
- 枚举类型(enum)
case用法
根据switch括号里面的值,分别与case后面的值做匹配,如果匹配成功,则通过成功匹配点进入到switch语句块中,注意:如果没有遇到 break ;程序将继续向下执行,并且不再重新匹配其他case值
break用法
当程序运行到break时,可以跳出当前的语句块
default用法
当匹配完所有case分支之后,如果仍未发现匹配成虫,则执行default中的语句,蕾丝选择语句中else的使用
案例
成绩等级划分
public static void main(String[] args) {
int score = 90;
//100 - 90 A
//89 - 80 B
//79 - 70 C
//69 - 60 D
//< 60 E
int tmp = score / 10;
switch (tmp){
case 10:
case 9:
System.out.println("A");break;
case 8:
System.out.println("B");break;
case 7:
System.out.println("c");break;
case 6:
System.out.println("D");break;
case 5: case 4: case 3: case 2: case 1: case 0:
System.out.println("E");break;
default:
System.out.println("ERROR");
}
}
计算器基本功能
public static void main(String[] args) {
int num1 = 9;
int num2 = 0;
char c = '&';
switch (c){
case '+':
System.out.println(num1 + num2);break;
case '-':
System.out.println(num1 - num2);break;
case '*':
System.out.println(num1 * num2);break;
case '/':
if(num2 != 0){
System.out.println(num1 / num2);break;
}else{
System.out.println("除零错误!~!~");
return;
}
default:
System.out.println("不知道你要算什么!~");
}
}