功能:switch和if else if else练习
从键盘输入:
1.分别用switch和if else if else 语句完成
一个功能:
判断学生的成绩:
100<成绩>=90–>优秀
90<成绩>=80–>良好
80<成绩>=70–>一般
70<成绩>=60–>及格
60<成绩>=0–>不及格
其他就是:输入有误
if…else if…else语句
import java.util.Scanner;
public class IfElseIfDemo{
public static void main(String[] args){
System.out.println("请输入学生成绩");
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int grade = input;
if(grade<=100&&grade>=90){
System.out.println("优秀");
}else if(grade<90&&grade>=80){
System.out.println("良好");
}else if(grade<80&&grade>=70){
System.out.println("中等");
}else if(grade<70&&grade>=60){
System.out.println("及格");
}else if(grade<60&&grade>=0){
System.out.println("不及格");
}else{
System.out.println("输入成绩有误");
}
}
}
用if…else if…else语句完成此练习没有什么问题那么如何用switch语句完成呢?
或许有人会想到在case上加上判断条件,那么你就gg啦
case上不可以写判断条件,只能是一个值。在这里我想到了妙用int类型的除法取整来完成对成绩的判断,代码如下:
import java.util.Scanner;
public class SwitchDemo{
public static void main(String[] args){
System.out.println("请输入学生成绩");
Scanner sc = new Scanner(System.in);
int input = sc.nextInt();
int grade = input;
int a = grade/10;
switch(a){
case 10:
System.out.println("优秀");
break;
case 9:
System.out.println("优秀");
break;
case 8:
System.out.println("良好");
break;
case 7:
System.out.println("中等");
break;
case 6:
System.out.println("及格");
break;
case 5&4&3&2&1&0:
System.out.println("不及格");
break;
default:
System.out.println("成绩输入有误");
}
}
}
ps:switch语句有一个控制表达式和多个case标签(跟一个值),switch语句后面的控制表达式的数据类型只能是byte、short、char、int四个整数类型和枚举类型,不能是boolean类型。在jdk1.7后增加了String类型。