分支语句switch-case
结构:
switch(表达式){
case 常量1:
语句1;
//break;
case 常量2:
语句2;
//break;
......
case 常量n:
语句n;
//break;
default:
语句;
//break;
}
示例1
/*
switch-case的使用
*/
public class SwitchTest01{
public static void main(String[] args){
//示例1
int num = 2;
switch(num){
case 0:
System.out.println("zero");
case 1:
System.out.println("one");
case 2:
System.out.println("two");
case 3:
System.out.println("three");
default:
System.out.println("nothing");
}
/*
运行结果为
two
three
nothing
*/
}
}
说明
- 根据switch表达式中的值,依次匹配各个case中的常量,一旦匹配成功,则进入相应的case结构中,调用其执行语句,当调用完执行语句之后,则仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或此switch-case结构末尾为止
- break关键字,可以使用在switch-case结构中,表示一旦执行到此关键字,就跳出switch-case结构
- switch结构中的表达式只能是如下的六种数据类型之一:byte、short、char、int、枚举类型、String类型
- case之后只能声明常量,不能声明范围
- default:相当于if-else中的else,default结构是可选的,位置是灵活的,但一般放在最后
示例2
/*
switch-case的使用
*/
public class SwitchTest01{
public static void main(String[] args){
//示例1
int num = 2;
switch(num){
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
break;
case 2:
System.out.println("two");
break;
case 3:
System.out.println("three");
break;
default:
System.out.println("nothing");
break;
}
/*
运行结果为
two
*/
}
}
说明:
- 如果多个case的执行语句相同,则可以进行合并
示例:
/*
switch-case示例
将考试成绩0-59分的输出及格;
60-100的输出不及格
*/
import java.util.Scanner;
public class SwitchCaseTest01{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int score = scan.nextInt();
switch(score / 10){
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("不及格");
break;
case 6:
case 7:
case 8:
case 9:
case 10:
System.out.println("及格");
break;
}
}
}