成绩与等级对应的规则:低于60分,不及格;
60~70分,及格;(含60分但不含70分)
70~80分,中;(含70分但不含80分)
80~90分,良好;(含80分但不含90分)
90~100分,优秀。(含90分也含100分)
代码如图1-40所示。
图1-40 任务8代码
运行步骤如下:
(1)提供命令行参数,如图1-41所示。
图1-41 任务8命令行参数设置对话框中输入86
(2)点击“Apply”按钮。
(3)点击“Run”按钮。
(4)结果显示如图1-42所示。
图1-42 运行结果
现在小张同学从现实生活中,知晓 86 分是良好等级,不错,如何从程序代码这样编程就实现了这样的生活逻辑呢?
(1)首先“你的成绩为良好!”这是第 14 行代码体现出来的。这一行代码肯定得到执行。
(2)第5行代码获得了命令行参数值86,交给了变量intScore。
(3)第6行86>=60这个条件成立,进入由第6行{到第19行else前的}这个语句块部分。只不过这个语句块部分是由三条if语句构成的。
(4)第19行的else是第6行的if语句的配对。
小张同学看出任务8的解决要通过if嵌套来实现。
注1: if-else嵌套语句两种形式:
(1)if(条件){
说明: 在if语句中,若语句块部分不是复合语句,则大括号是可省的。
(2)if(条件){
注2: 任务8采用第二种控制流程。
注3: 这两种if嵌套的格式用得最多的还是格式(1),其特点是在else反面再一次使用if嵌套条件。如果要用格式(1)改写的代码如图1-43所示。
图1-43 修改的代码
修改后的核心代码在图1-43中的红色方框中标出。
注4: 这种if嵌套的层次如果非常多,让人的逻辑思路会添加负担。有没有另外的办法呢?小张同学非常关切。