1.掌握switch选择结构的语法及执行流程
2.掌握switch使用时常见错误的解决方法
3.掌握switch与多重if的异同
例题1:木木参加计算机编程大赛,如果是第一名获得普惠笔记本电脑一部,第二名获得移动硬盘一个,第三名获得鼠标键盘一件套。其余不给予奖励。
我们一定会想到用多重if来解决此问题,也是没有问题的
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入比赛名次:");
int ci = sc.nextInt();
if(ci==1) {
System.out.println("奖励惠普笔记本电脑一台");
}else if(ci==2) {
System.out.println("奖励移动硬盘一个");
}else if(ci==3) {
System.out.println("奖励鼠标键盘一件套");
}else {
System.out.println("很遗憾,争取下次再接再厉");
}
sc.close();
}
然后输出
使用多重if来解决此问题的缺点是复杂啰嗦。
如果我们使用switch来解决,因为第一名第二名第三名都为等值判断。而switch恰到好处
switch语法如下:
我们来使用switch来解决
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入比赛名次:");
int ci = sc.nextInt();
switch (ci){
case 1:
System.out.println("奖励惠普笔记本电脑一台");
break;
case 2:
System.out.println("奖励移动硬盘一个");
break;
case 3:
System.out.println("奖励鼠标键盘一件套");
break;
default:
System.out.println("很遗憾,争取下次再接再厉");
break;
}
sc.close();
}
相对于多重if,switch更加清晰。
但switch()里面写的表达式不可以为double类型
还有一点就是break,这个是必须要写入的 ,如果没有写入,代码就会一直向下进行
case后面的条件也不可以相同,如果相同就会报错
那么switch与多重if的异同:
相同点:都是用来处理多分支条件的结构
不同点:switch:
只能用来处理等值条件判断。
多重if:
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况。