jdk1.7之前,switch里面只能接受int和char类型的数据;其中,多个case对应同一代码块,不能这样写——case 1,2,3:——只能是case 1: case 2: case 3:——一个case后面只能接一个整数。
package test;
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
System.out.println("请输入0~5之间的整数:");
Scanner scan = new Scanner(System.in);
int score = scan.nextInt();
//系统接收输入的整数:0~5,然后输出相应的等级
//5-优秀 4-良好 3-及格 2,1,0-不及格 其他-报错
switch (score) {
case 5:
System.out.println("优秀");
break;
case 4:
System.out.println("良好");
break;
case 3:
System.out.println("及格");
break;
//注意这里不能这样写编译会报错:一个case后面只能对应一个整数
//case 2,1,0:
case 2:
case 1:
case 0:
System.out.println("不及格");
break;
default:
System.out.println("输入有误");
break;
}
}
}
case代码块后面一般接一个break,如果没有break,就会继续执行后面的case语句,如下
package test;
import java.util.Scanner;
public class SwitchTest {
public static void main(String[] args) {
System.out.println("请输入0~5之间的整数:");
Scanner scan = new Scanner(System.in);
int score = scan.nextInt();
//系统接收输入的整数:0~5,然后输出相应的等级
//5-优秀 4-良好 3-及格 2,1,0-不及格 其他-报错
switch (score) {
case 5:
System.out.println("优秀");
case 4:
System.out.println("良好");
case 3:
System.out.println("及格");
//注意这里不能这样写编译会报错:一个case后面只能对应一个整数
//case 2,1,0:
case 2:
case 1:
case 0:
System.out.println("不及格");
break;
default:
System.out.println("输入有误");
break;
}
}
}
//输出结果:
请输入0~5之间的整数:
5
优秀
良好
及格
不及格