Switch 分支结构
基本结构
switch(表达式){
case: 常量1:语句块1;
case: 常量2:语句块2;
case: 常量3:语句块3;
......
default:
default 语句块;
break;
}
- 表达式应当是一个具体的值
- break表示退出
- 没有一个匹配case后的值,自动执行defaul;
流程图
案例
import java.util.Scanner;
public class Switch{
public static void main(String[] args) {
/*案例:Switch01.java
请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g
a 表示星期一,b 表示星期二 …
*/
Scanner input = new Scanner(System.in);
System.out.println("输入一个字符");
char s = input.next().charAt(0);
switch(s){
case 'a':
System.out.println("星期一");
break;
case 'b':
System.out.println("星期二");
break;
case 'c':
System.out.println("星期三");
break;
case 'd':
System.out.println("星期四");
break;
case 'e':
System.out.println("星期五");
break;
case 'f':
System.out.println("星期六");
break;
case 'g':
System.out.println("星期天");
break;
default: System.out.println("输入有误");
}
}
}
注意事项
- switch(表达式),表达式中的数据类型应该和case后的常量类型保持一致,或是可以进行自动类型转换的类型
- 表达式中的返回值必须是(byte,short,int,char,enum[枚举],String)
- case中值必须是常量而不能是变量
- default是可选的
- break的作用是跳出switch,没有写break则顺序执行之后的case后的代码块,直到遇到break语句或执行到最后一个语句(default也会执行)
课后习题
import java.util.Scanner;
public class Switch{
public static void main(String[] args) {
/*1) 使用 switch 把小写类型的 char 型转为大写(键盘输入)。
只转换 a, b, c, d, e. 其它的输出 "other"。
*/
Scanner input = new Scanner(System.in);
System.out.println("输入一个字符");
char c = input.next().charAt(0);
switch(c){
case 'a':
System.out.println("A");
break;
case 'b':
System.out.println("B");
break;
case 'c':
System.out.println("C");
break;
case 'd':
System.out.println("D");
break;
case 'e':
System.out.println("E");
break;
default: System.out.println("other");
}
/* 2) 对学生成绩大于 60 分的,输出"合格"。低于 60 分的,输出"不合格"。
(注:输入的成绩不能大于 100), 提示 成绩/60*/
Scanner input = new Scanner(System.in);
System.out.println("输入你的成绩");
int score = input.nextInt();
switch(score / 60){
case 0 :
System.out.println("不合格");
break;
case 1 :
System.out.println("合格");
break;
default :
System.out.println("输入");
}
/* 3) 根据用于指定月份,打印该月份所属的季节。3,4,5 春季
6,7,8 夏季 9,10,11 秋季 12, 1, 2 冬季 [课堂练习, 提示 使
用穿透 ]
*/
Scanner input = new Scanner(System.in);
System.out.println("输入月份");
int mouth = input.nextInt();
switch(mouth){
case 1 :
case 2 :
case 3 :
System.out.println("春季");
break;
case 4 :
case 5 :
case 6 :
System.out.println("夏季");
break;
case 7 :
case 8 :
case 9 :
System.out.println("秋季");
break;
case 10 :
case 11 :
case 12 :
System.out.println("冬季");
break;
default :
System.out.println("输入有误");
}
}
标签:case,Scanner,System,break,Switch,println,分支,out,结构
From: https://www.cnblogs.com/ygcDiary/p/17626516.html