第1关:Java分支结构之 if...else
相关知识
生活中,我们经常需要先做判断,然后才决定是否要做某件事情。例如,如果考试成绩大于 85
分,则奖励一个 Iphone X
。对于这种“需要先判断条件,条件满足后才执行的情况”,就可以使用 if
条件语句实现。
if语句
用法如下:
if (<条件>) {
<条件成立执行的代码>
}
注意:如果 if
条件成立时的执行语句只有一条,是可以省略大括号滴!但如果执行语句有多条,那么大括号就是不可或缺的哦。
if-else语句
if...else
比if
语句的操作多了一步,当条件成立时,则执行 if
部分的代码块; 条件不成立时,则进入 else
部分。例如,如果今天不下雨,就出门逛街,否则就宅在家玩游戏。 用法如下:
if (<条件>) {
<条件成立执行的代码>
}else {
<条件不成立执行的代码>
}
编程要求
为了完成判断学生成绩等级的任务,需要你在start-end
区域定义一个变量score
用来接收程序输入的成绩数据,然后判断score
变量的值,输出相应结果,你编写的程序要能根据不同的分数输出不同的等级,规则如下:
- 85-100分: 优,非常棒!
- 85分以下: 良,下次加油!
package step2; import java.util.Scanner; public class HelloIfStep2 { public static void main(String[] args) { Scanner input = new Scanner(System.in); /******start******/ System.out.println("请输入学员成绩:"); int score = input.nextInt(); if(score>=85&score<=100){ System.out.println("优,非常棒!"); } else{ System.out.println("良,下次加油!"); } /******end******/ } }
第2关:if语句测试题
第3关:Java分支结构之多重if
编程要求
在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){
System.out.println("****四星成绩");
}else if(score>=70){
System.out.println("***三星成绩");
}else if(score>=60){
System.out.println("**俩星成绩");
}else{
System.out.println("无星成绩");
}
/******end******/
}
}
第4关:Java分支结构之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
)
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 3:
case 4:
case 5: System.out.println(input+"月是春天");
break;
case 6:
case 7:
case 8: System.out.println(input+"月是夏天");
break;
case 9:
case 10:
case 11: System.out.println(input+"月是秋天");
break;
case 12:
case 1:
case 2: System.out.println(input+"月是冬天");
break;
}
/*****end*****/
}
}
第5关:Switch语句测试题
第6关:来吧,我是BOSS!
相关知识
扫描仪(Scanner
)已经创建,用户输入的数据也已经获取,请按照题目要求通关。
第一题
编写一个Java
程序(打篮球),获取输入的人数,如果人数小于10
人,就打半场,否则就是全场,在start-end
区域第一题中补全代码。
第二题
使用多重if
语句在start-end
区域编写一个Java
程序(吃什么),输入今天是星期几,输出今天吃什么,需要使用Scanner
获取输入的整数,规则如下:
- 如输入
1
,则输出:今天吃米饭
- 如输入
2
,则输出:今天吃牛排
- 如输入
3
,则输出:今天吃鸡排
- 如输入其他,则输出:
今天吃红烧肉
第三题
使用switch
语句完成第二题。
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*****/
}
}