第1关:Java分支结构之 if…else
任务描述
本小节需要你完成一个判断学员成绩等级的小程序,效果如下:
相关知识
生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如,如果考试成绩大于 85 分,则奖励一个 Iphone X 。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用 if 条件语句实现。
if语句
用法如下:
if (<条件>) {
<条件成立执行的代码>
}
执行过程如下:
例如:
// 当分数score大于85时,输出"奖励一部Iphone X!"
int score = 90;
if (score > 85){
System.out.println(“奖励一部Iphone X!”);
}
注意:如果 if 条件成立时的执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺的哦。
例如:
输出结果: 不及格
这个月零花钱没啦!
这个月零花钱没啦
if-else语句
if…else比if语句的操作多了一步,当条件成立时,则执行 if 部分的代码块; 条件不成立时,则进入 else 部分。例如,如果今天不下雨,就出门逛街,否则就宅在家玩游戏。
用法如下:
if (<条件>) {
<条件成立执行的代码>
}else {
<条件不成立执行的代码>
}
执行过程如下:
例如:
// 当分数score大于等于60时输出"考试合格!",否则输出"考试不合格!"
int score = 80;
if (score >= 60)
System.out.println("考试合格!");
else {
System.out.println("考试不合格!");
}
编程要求
为了完成判断学生成绩等级的任务,需要你在start-end区域定义一个变量score用来接收程序输入的成绩数据,然后判断score变量的值,输出相应结果,你编写的程序要能根据不同的分数输出不同的等级,规则如下:
85-100分: 优,非常棒!
85分以下: 良,下次加油!
效果如下:
提示:在平台不会有显示从键盘录入的值,即不会显示91,但是在本地会显示,平台中键盘录入的值在测试输入中。
测试说明
程序会对你编写的代码进行测试:
测试输入:91
预期输出:
请输入学员成绩:
优,非常棒!
验货啦,验货啦,开始你的任务吧!
参考代码:
package step2;
import java.util.Scanner;
public class HelloIfStep2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
/******start******/
int score=input.nextInt();
System.out.println("请输入学员成绩:");
if(score>=85){
System.out.println("优,非常棒!");
}
else
{System.out.println("良,下次加油!");}
/******end******/
}
}
第2关:if语句测试题
任务描述
本关任务:Java分支结构掌握情况测试。
相关知识
编程要求
根据相关知识,按照要求完成Begin-End区域内选择题任务,包含单选题和多选题。
测试说明
平台会对你选择的答案进行判断,全对则通过测试。
开始你的任务吧,祝你成功!
参考答案:
第3关:Java分支结构之多重if
任务描述
本小节需要你实现一个星级成绩评定系统,效果如下:
相关知识
若要完成本小节的任务,需要你先了解多重If语句相关知识。
多重If语句
在条件 1 不满足的情况下,才会进行条件 2 的判断;当前面的条件均不成立时,才会执行 else 块内的代码,例如:如果一个人年龄介于 35岁至 60 岁之间,就是“中年”;如果年龄介于 18 岁至 35 岁之间,则是“青年”; 18 岁以下则是“少年”如下:
if (<条件1>) {
<条件1成立执行的代码>
}else if(<条件2>){
<条件2成立执行的代码>
}else if(<条件3>){
<条件3成立执行的代码>
}else{
<以上条件都不成立执行的代码>
}
执行过程:
int age = 37;
if(age < 18){
System.out.println("少年");
}else if(age >=18 && age < 35){
System.out.println("青年");
}else if(age >= 35 && age <60){
System.out.println("中年");
}else{
System.out.println("老年");
}
编程要求
在start-end区域在Begin-End区域编写一个星级成绩评定系统,规则如下:
90分及以上:五星成绩。
80-90分(包括80分,不包含90分): 四星成绩。
70-80分(包括70分,不包含80分):: 三星成绩。
60-70分(包括60分,不包含70分):: 俩星成绩。
60分以下(不包含60分)::无星成绩。
效果图如下:
测试说明
我会对你编写的程序测试五次,不要偷懒哦!
开始吧,骚年!
参考代码:
package step3;
import java.util.Scanner;
public class HelloStep3 {
public static void main(String[] args) {
System.out.println("星级成绩评定系统");
System.out.println("请输入成绩:");
Scanner sc = new Scanner(System.in);
/******start******/
int score=sc.nextInt();
if(score>=90)
System.out.println("*****五星成绩");
else if(score>=80&&score<90)
System.out.println("****四星成绩");
else if(score>=70&&score<80)
System.out.println("***三星成绩");
else if(score>=60&&score<70)
System.out.println("**俩星成绩");
else if(score<=60)
System.out.println("无星成绩");
/******end******/
}
}
第4关:Java分支结构之Switch
任务描述
本关需要你使用Switch完成一个能根据用户输入的月份,给出对应的季节的小程序。效果图如下:
相关知识
当需要对选项进行等值判断时,使用 switch 语句会让我们的代码更加简洁明了。
Switch语句
如果说我们前面学习的if…else可以比作判断题的话,那我们接下来要掌握的switch语句就可以看做是一个选择题了。例如,根据输入的选项决定中午吃什么,选1,吃黄焖鸡米饭,选2,吃牛肉盖饭,选3,吃螺蛳粉,选其他(default)就不吃。
int input = 3;
switch (input) {
case 1:
System.out.println("吃黄焖鸡米饭");
break;
case 2:
System.out.println("吃牛肉盖饭");
break;
case 3:
System.out.println("吃螺蛳粉");
break;
default:
System.out.println("不吃");
break;
}
看完这段代码,能告诉我今天中午吃什么吗?
在上述案例中,input就像我们在做选择题时填的答案,case后面的值就相当于选项,一个case代表着一种情况。
语法:
switch(表达式){
case 常量1:
<若干语句1>
break;
case 常量2:
<若干语句2>
break;
…
default:
<不满足上述所有情况执行的代码>
break;
}
执行过程:当switch后表达式的值和case语句后的值相同时,从该位置开始向下执行,直到遇到break语句或者switch语句块结束(即遇见”}”结束);如果没有匹配的case语句则执行default块的代码。
思考
根据上述知识,来做个思考题。
第一题:
第二题:
能告诉我这两段代码分别输出的是什么吗?在评论区贴出答案吧!
告诉你几个小秘密
switch 后面小括号中表达式的值必须是整型或字符型(在Java1.8版本之后字符串类型也可以作为表达式的值);
case 后面的值可以是常量数值,如 1、2;也可以是一个常量表达式,如 2+2 ;但不能是变量或带有变量的表达式,如 a * 2;
default 块可以出现在任意位置,也可以省略。
编程要求
请在start-end区域中,用switch语句在Begin-End区域补全代码,实现根据月份输出季节的功能。
规则如下:
一年有四季 春季(3,4,5)夏季(6,7,8)秋季(9,10,11) 冬季(12,1,2)
效果如下:
测试说明
我会对你的程序进行测试,如下:
测试输入:1
预期输出:1月是冬天
测试输入:3
预期输出:3月是春天
测试输出:6
预期输出:6月是夏天
开始你的任务吧!
参考代码:
package step4;
import java.util.Scanner;
public class HelloSwitch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份:");
int input = sc.nextInt(); //获取输入的月份
//通过输入的月份来判断当前季节并输出
/*****start*****/
switch(input){
case 1:System.out.println("1月是冬天");break;
case 2:System.out.println("2月是冬天");break;
case 12:System.out.println("12月是冬天");break;
case 3:System.out.println("3月是春天");break;
case 4:System.out.println("4月是春天");break;
case 5:System.out.println("5月是春天");break;
case 6:System.out.println("6月是夏天");break;
case 7:System.out.println("7月是夏天");break;
case 8:System.out.println("8月是夏天");break;
case 9:System.out.println("9月是秋天");break;
case 10:System.out.println("10月是秋天");break;
case 11:System.out.println("11月是秋天");break;
}
/*****end*****/
}
}
第5关:Switch语句测试题
任务描述
本关任务:Switch语句掌握情况测试。
相关知识
编程要求
根据相关知识,按照要求完成右侧区域内选择题任务,包含单选题和多选题。
测试说明
平台会对你选择的答案进行判断,全对则通过测试。
开始你的任务吧,祝你成功!
参考答案:
第6关:来吧,我是BOSS!
任务描述
结合本章节所学内容,完成本关所有的编程题。
相关知识
扫描仪(Scanner)已经创建,用户输入的数据也已经获取,请按照题目要求通关。
第一题
编写一个Java程序(打篮球),获取输入的人数,如果人数小于10人,就打半场,否则就是全场,在start-end区域第一题中补全代码。
效果如下:
第二题
使用多重if语句在start-end区域编写一个Java程序(吃什么),输入今天是星期几,输出今天吃什么,需要使用Scanner获取输入的整数,规则如下:
如输入1,则输出:今天吃米饭
如输入2,则输出:今天吃牛排
如输入3,则输出:今天吃鸡排
如输入其他,则输出:今天吃红烧肉
效果如下:
第三题
使用switch语句完成第二题。
编程要求
请仔细阅读右侧代码,结合相关知识,在Begin-End区域内进行代码补充,完成编写来吧,我是BOSS!的小程序。
测试说明
请按照编程要求填充代码,我会对你编写的每一块代码进行测试。
大好的青春不用来敲代码和咸鱼有什么区别,开始吧,骚年!
参考代码:
package step5;
import java.util.Scanner;
public class Practice {
final static Scanner sc = new Scanner(System.in); //创建扫描仪
//第一题
public void first(){
System.out.println("请输入人数:");
int input = sc.nextInt(); //获取输入的数据
/*****start*****/
if(input<10)
{System.out.println("打半场");}
else
{ System.out.println("打全场");}
/*****end*****/
}
//第二题
public void second(){
System.out.println("请输入今天星期几:");
int input = sc.nextInt(); //获取输入的数据
/*****start*****/
if(input==1) System.out.println("今天吃米饭");
else if(input==2) System.out.println("今天吃牛排");
else if (input==3) System.out.println("今天吃鸡排");
else System.out.println("今天吃红烧肉");
/*****end*****/
}
//第三题
public void third(){
System.out.println("请输入今天星期几:");
int input = sc.nextInt(); //获取输入的数据
/*****start*****/
switch(input){
case 1:System.out.println("今天吃米饭");break;
case 2:System.out.println("今天吃牛排");break;
case 3:System.out.println("今天吃鸡排");break;
default :System.out.println("今天吃红烧肉"); break;}
/*****end*****/
}
}