Switch 和 if 的比较
1.如果判断的具体数值不多,而且符合 byte short int char enum(枚举) string
这六种类型,虽然两个语句都可以使用,但是建议使用Switch语句
2.其他情况 :对于区间的判断,对结果为boolean类型判断,使用if ,if的使用范围更广
Switch语句的使用
//案例1 //使用switch结构 吧小写类型的char类型转为大写(键盘输入)。 // 只转换a,b,c,d,e,其他输出"other".
import java.util.Scanner;
public class Switch01 {//switch 分支结构
public static void main(String [] args){
//案例1
//使用switch结构 吧小写类型的char类型转为大写(键盘输入)。
// 只转换a,b,c,d,e,其他输出"other".
//创建scanner对象
Scanner MyScanner = new Scanner(System.in);
//提示语,输入并接收对象
System.out.println("请输入一个字符:");
char c = MyScanner.next().charAt(0);
//switch 分支
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");
break;
}
}
}
//案例2 //对学生成绩大于60分的,输出“合格”。地域60分的, //输出“不合格”(注意 输入的成绩不能大于100) //思路 成绩/60 结果等于1则合格 反之 不合格
import java.util.Scanner;
public class Switch02 {
public static void main(String [] args){
//案例2
//对学生成绩大于60分的,输出“合格”。地域60分的,
//输出“不合格”(注意 输入的成绩不能大于100)
//思路 成绩/60 结果等于1则合格 反之 不合格
Scanner MyScanner = new Scanner(System.in);
System.out.println("请输入学生成绩:");
double score = MyScanner.nextDouble();
if (score>=0&&score<=100){
switch ((int)(score / 60)){
case 1 :
System.out.println("成绩合格");
break;
case 0 :
System.out.println("成绩不合格");
break;
default:
System.out.println("输入错误");
break;
}
}else{
System.out.println("输入有误,输入的成绩不在0-100范围中");
}
}
}
//案例3 //输入一个月份 并显示当前月份所在季度 //3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季 //可以使用 穿透
import java.util.Scanner;
public class Switch03 {
public static void main (String [] args){
//案例3
//输入一个月份 并显示当前月份所在季度
//3 4 5 春季 6 7 8 夏季 9 10 11 秋季 12 1 2 冬季
//可以使用 穿透
Scanner MyScanner = new Scanner(System.in);//创建scanner对象
System.out.println("请输入一个月份:");//输出提示语
int month = MyScanner.nextInt();//接收对象
//switch 结构
switch (month){
case 3 :
case 4 :
case 5 :
System.out.println("当前是春季哦");
break; //跳出Switch
case 6 :
case 7 :
case 8 :
System.out.println("当前是夏季哦");
break;
case 9 :
case 10 :
case 11 :
System.out.println("当前是秋季哦");
break;
case 12 :
case 1 :
case 2 :
System.out.println("当前是冬季哦");
break;
default:
System.out.println("输入错误,人类还没发现这个月份哦");
}
}
}