四、分支结构(头歌实践平台)


第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;
		System.out.println("请输入学员成绩:");
		score=input.nextInt();
        if(score>=85 && score<=100) 
        {
        System.out.print("优,非常棒!");
        }
        else 
        {
        System.out.print("良,下次加油!");
        }
        
		
		
		
		/******end******/
	}
}

第2关: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;
        score=sc.nextInt();
        if(score>=90&&score<=100)
        {
            System.out.print("*****五星成绩");
        }
        else if(score<90&&score>=80)
        {
            System.out.print("****四星成绩");
        }
		else if(score<80&&score>=70)
        {
            System.out.print("***三星成绩");

        }
		else if(score<70&&score>=60)
        {
            System.out.print("**俩星成绩");
        }
        else if(score<60)
        {
            System.out.print("无星成绩");
        }
		
		
		
		
		/******end******/
	}
}

第3关: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*****/
		int season;
        switch(input)
        {
            case 1:
            System.out.print("1月是冬天");
            break;
            case 2:
            System.out.print("2月是冬天");
            break;
            case 3:
            System.out.print("3月是春天");
            break;
            case 4:
            System.out.print("4月是春天");break;
            case 5:
            System.out.print("5月是春天");
            break;
            case 6:
            System.out.print("6月是夏天");
            break;
            case 7:
            System.out.print("7月是夏天");
            break;
            case 8:
            System.out.print("8月是夏天");
            break;
            case 9:
            System.out.print("9月是秋天");
            break;
            case 10:
            System.out.print("10月是秋天");
            break;
            case 11:
            System.out.print("11月是秋天");
            break;
            case 12:
            System.out.print("12月是冬天");
            	break;
        }

		
		/*****end*****/
		
	}
}

第4关:来吧,我是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*****/
		}
}
  • 11
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请你吃茶去

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值