任务描述
本关任务:给出一个 GPA 成绩,输出与之对应的百分制成绩区间。
GPA 标准为:
优秀(A): 100-90分;
良好(B): 80-89分;
中等(C): 70-79分;
及格(D): 60-69分;
不及格(E): 60分以下。
相关知识
为了完成本关任务,你需要掌握: 如何使用 switch 语句。
switch 语句
switch 语句的使用场景,与前面学习的 if - else if - else 语句一致。但是从代码角度来看,switch 语句比 if - else if - else 语句更为优美,但是又有自身的限制,在判断时,没有 if - else if - else 语句那么灵活。
switch 语句,先是判断一个变量与一系列值中的某个值是否相等,每个值对应一个分支,如果相等,则进入这个分支。
语法
switch 语句的语法格式如下:
switch(expression){
case value :
语句1
break; //可选
case value :
语句2
break; //可选
// 你可以有任意数量的case语句
default : //可选
语句3
}
switch 语句有如下规则:
switch 语句中的变量类型可以是: byte、short、int 或者 char。从 Java SE7 开始,switch 还支持字符串 String 类型,但是使用 String 类型时,case 标签必须为字符串常量或字面量;
switch 语句可以拥有多个 case 语句,每个 case 后面跟一个要比较的值和冒号;
case 语句中 value 的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量;
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句;
当遇到 break 语句时,switch 语句终止,继续执行 switch 语句后面的语句。case 语句不一定要包含 break 语句,如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句;
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。当 case 语句的值和所有变量值都不相等时,执行 default 分支。default 分支不需要 break 语句。
注意:switch 语句执行时,一定会先进行匹配。如果匹配成功,则返回当前 case 的值,再根据是否有 break,判断是否继续进行匹配判断。
案例:
public static void main(String args[]) {
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("优秀");
break;
case 'B':
System.out.println("良好");
break;
case 'C':
System.out.println("中等");
break;
case 'D':
System.out.println("及格");
break;
case 'F':
System.out.println("你需要再努力努力");
break;
default:
System.out.println("未知等级");
}
System.out.println("你的等级是 " + grade);
}
执行结果:
良好
你的等级是 B
代码说明:变量 grade 的值为 B ,进入 case B 的分支,打印“良好”,然后遇见了 break 语句,结束 switch 语句。继续执行 switch 后的语句,最后打印“你的等级是 B”。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
测试说明
平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。
可在右侧 “测试结果”区查看具体的测试集详情。
开始你的任务吧,祝你成功!
import java.util.Scanner;
/**
* 任务:给出一个 GPA 成绩,输出与之对应的百分制成绩区间。
*/
public class ApplicationTest {
/**
* 请在下面的 Begin - End 之间按照注释中给出的提示编写正确的代码
*/
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 声明 char 类型的变量 score 用来获取控制台输入的成绩
char score = scanner.next().charAt(0);
/********** Begin **********/
switch(score) {
case 'A':
System.out.println("百分制分数段为90分以上");
break;
case 'B':
System.out.println("百分制分数段为80-89分");
break;
case 'C':
System.out.println("百分制分数段为70-79分");
break;
case 'D':
System.out.println("百分制分数段为60-69分");
break;
case 'E':
System.out.println("百分制分数段为60分以下");
break;
}
/**
* 使用 switch 构建 A 、B、C、D、E 五条分支
* 分支 A ,控制台输出 “百分制分数段为90分以上”
* 分支 B ,控制台输出 “百分制分数段为80-89分”
* 分支 C ,控制台输出 “百分制分数段为70-79分”
* 分支 D ,控制台输出 “百分制分数段为60-69分”
* 分支 E ,控制台输出 “百分制分数段为60分以下”
*/
/********** End **********/
}
}
标签:语句,百分制,System,break,case,switch,成绩,分支
From: https://blog.csdn.net/2301_76650327/article/details/144408263