switch选择结构
//韩嫣参加编程大赛
//如果第一名,参加麻省理工大学组织的1个月夏令营
//如果第二名,奖励笔记本电脑一部
//如果第三名,奖励移动硬盘一个
//否则,不给任何奖励
//解决方法:
//使用多重if:结构复杂,啰嗦
//使用switch:条件为等值判断
switch(表达式){ // int、short、byte、char、枚举类型、String
case 常量1:
语句1;break;
case 常量2:
语句2;break;
…………
default:
语句1;
}
public class test02 {
public static void main(String[] args){
int mingCi = 1;//名次
switch(mingCi) {
case 1:
System.out.println("参加麻省理工大学组织的1个月夏令营");
break;
case 2:
System.out.println("奖励笔记本电脑一部");
break;
case 3:
System.out.println("奖励移动硬盘一个");
break;
default:
System.out.println("没有任何奖励");
break;
}
}
}
常见错误1
//如果需要每个case执行完后跳出,在每个case后不要忘记写break;
public class test02 {
public static void main(String[] args){
int mingCi = 1;//名次
switch(mingCi) {
case 1:
System.out.println("参加麻省理工大学组织的1个月夏令营");
case 2:
System.out.println("奖励笔记本电脑一部");
case 3:
System.out.println("奖励移动硬盘一个");
default:
System.out.println("没有任何奖励");
}
}
}
常见错误2
//case 后面的值 不可一样;
public class test02 {
public static void main(String[] args){
int mingCi = 1;//名次
switch(mingCi) {
case 1:
System.out.println("参加麻省理工大学组织的1个月夏令营");
break;
case 2:
System.out.println("奖励笔记本电脑一部");
break;
case 2:
System.out.println("奖励移动硬盘一个");
break;
default:
System.out.println("没有任何奖励");
break;
}
}
}
常见错误3
//default 位置可以在switch中任何位置,后面一定要加break
//default 一般在最后,可以省略
public class test02 {
public static void main(String[] args){
int mingCi = 1;//名次
switch(mingCi) {
default:
System.out.println("没有任何奖励");
case 1:
System.out.println("参加麻省理工大学组织的1个月夏令营");
break;
case 2:
System.out.println("奖励笔记本电脑一部");
break;
case 2:
System.out.println("奖励移动硬盘一个");
break;
}
}
}
switch 与 多重if
相同点:
都是用来处理多分支条件的结构
不同点:
switch
只能处理等值条件的判断
if
没有switch选择结构的限制,特别适合某个变量处于某个连续区间时的情况