一、switch结构(开关语句)的语法
switch(表达式 ){--->类型为int、char
case 常量1 :--->case 结构可以有多个
//语句块1
break;--->程序跳出switch结构
case 常量n :--->常量的值不能相同
//语句块n
break;
default:--->和if结构中的else作用相同
//语句块
break;
}
示例1:张三参加计算机编程大赛,如果获得第一名,将旅游一个月。如果获得第2名,将奖励一台笔记本电脑。如果获得第三名,将奖励一台手机。否则,没有任何奖励
public class Practice1 {
public static void main(String[] args){
int mingci = 1; //名次
switch (mingci ){
case 1:
System.out.println("旅游一个月");
break;
case 2:
System.out.println("奖励惠普笔记本电脑一部");
break;
case 3:
System.out.println("奖励移动硬盘一个");
break;
default:
System.out.println("没有任何奖励");
}
}
}
switch选择结构
运行结果:如图:
public class Practice2 {
public static void main(String[] args){
int mingci = 1; //名次
switch (mingci ){
case 1:
System.out.println("旅游一个月");
case 2:
System.out.println("奖励一台笔记本电脑");
case 3:
System.out.println("奖励一台手机");
default:
System.out.println("没有任何奖励");
}
}
}
practice2
没有写break的运行结果:如图:
注意:如果匹配到值,但没有执行break,那么从匹配到那个值的语句
开始,下面的每一个语句都会执行,直到整个程序结束或者遇到break.
二、switch结构使用场合: int \char 2种类型的等值判断下使用
三、switch结构和if结构的异同点
相同点:都可以实现等值判断
不同点:
1. 语法不同
2.使用的场合不同
2.1 if结构,侧重于范围判断
2.2 switch结构,侧重于等值判断,类型只能为int、char类型
3.效率
3.1在等值判断中,switch结构效率高于if结构
四、 异常处理——hasNextInt();
判断是否为整数
if( input.hasNextInt( ) ) { // boolean类型
//代码块
}