五、 循环结构基础(头歌实践平台)


第1关:Java循环结构之while循环


任务描述
本小节需要你完成一个做俯卧撑的小程序,效果如下:

在这里插入图片描述

相关知识
Java中常用的循环有三种:while,do…while,for。
本小节我们先来看看while循环。

while循环的特点
循环顾名思义就是:重复的做某个事情,Java中的循环也是如此,当我们在开发中需要重复的做某个事情的时候,你就要想到循环了,接下来我们就来看看while循环是怎么使用的吧!

while(条件){
<条件成立执行的代码>
}
哈哈,是不是似曾相识呢?和我们在之前中讲到的if语句很像吧。没错while语句的用法和if差不多,if语句的特点是如果小括号中的条件成立,就执行一次大括号中的代码,那while循环语句的特点呢?我选择保密。

while循环体验
在D盘下新建一个文件HelloWorld.java输入下列代码。
在这里插入图片描述

  1. 编译运行。
    在这里插入图片描述

做完上面两步之后你会发现你的程序一直在运行,根本停不下来,这是什么原因呢?也许你已经看出来了。
在这里插入图片描述

可是怎么解决呢?哈哈,授人以鱼不如授人以渔。
编程要求
在start-end区域中填充代码,使程序能输出如下效果:

在这里插入图片描述

测试说明
如果你写了一个死循环,评测的时候会导致评测超时,如果右侧一直在加载,说明评测超时了,这个时候请刷新你的页面。

代码实现

package step1;

public class HelloWorld {
	public static void main(String[] args) {
		
		/*****start*****/
		 int i=0;
        while(i<6){
            i++;
            System.out.println("做了"+ i +"个俯卧撑");    
        }
		/*****end*****/
	}
}

第2关:Java循环结构之while循环练习


任务描述
使用while循环实现一个1到100的整数相加的小程序。效果图如下:
在这里插入图片描述

相关知识
经过上一小节,你应该认识到了,循环就像在操场跑圈,而编写一个循环语句需要三个要素:1.控制循环的条件,2.控制循环的次数,3.编写循环执行的代码;

在这里插入图片描述
在这里插入图片描述

知道了这些知识,你应该可以完成本关的任务了吧,我们一起来思考一下。 要实现一个从1100整数相加的程序,如果没有学循环,你是不是这样写呢? java int sum = 1 + 2 + 3 + 4 + 5 +…..+ 100;不过现在我们学了循环就不能用前面那么费劲的方式写了,可以发现这个程序需要我们重复做一个事情,而且数据也是不断变化的,所以需要你思考两个问题: 1. 重复做的事情是什么? 1. 哪些数据是变化的?
想好了这两个问题就可以开始了,加油。

编程要求
在start-end区域中填充代码,使用while循环实现一个1到100的整数相加,并输出相加后的结果。效果图如下:
在这里插入图片描述
测试说明
平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关

代码实现

package step2;

public class HelloWorld {
	public static void main(String[] args) {
				
		/*****start*****/
		 int sum=0;
        int n=0; 
        while(n<100) {
             n++;
             sum+=n; 
             }
        
        System.out.println("1到100相加的结果为"+sum);
        		
		/*****end*****/			
	}
}

第3关: Java循环结构之do…while循环


任务描述
本关需要使用do…while循环,完成一个计算1到100之间6的倍数出现次数的小程序。

相关知识
do…while循环
do-while和while区别仅在于while先执行循环条件判断再执行循环体,do-while先执行循环体后进行条件判断。例如:

在这里插入图片描述

语法结构:

do
{
<若干语句>
} while(条件);

执行过程:
在这里插入图片描述

使用方法:

在这里插入图片描述

能告诉我输出什么吗?
编程要求
在start-end区域中填充代码,完成计算1到100之间6的倍数出现次数的小程序。
提示:一个数对另一个数取模(%)等于0那这个数就是另一个数的倍数,例如:

int i = 30;
int j = 5;
System.out.println(i%6);  //输出0
System.out.println(j%6);  //输出5

测试说明
如果你编写死循环,会评测超时。

代码实现

package step3;

public class HelloWorld {
	public static void main(String[] args) {
		int count= 0;	//定义变量存储6的倍数出现的次数
		/*****start*****/
		 int i=1;
        do{
           if(i%6==0){
            count++;
            i++;   
           }
           i++;
        }
        while(i<=100);    
		
		/*****end*****/
		System.out.println("6的倍数出现的次数为:" + count);
	}
}

第4关:break和continue关键字


任务描述
使用本关所学内容完成一个小程序,输出如下结果:

在这里插入图片描述

相关知识
当我们在循环处理某一事物时,可能会在某种特定的条件下需要结束整个循环过程,或者是结束本次循环继续下一次循环,那这个时候应该怎么办呢?两个关键字来帮你解决问题,break和continue。

break关键字
先来看一段代码的运行效果,如下:
!](https://img-blog.csdnimg.cn/20210528104418189.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NhZXNhclF1,size_16,color_FFFFFF,t_70)

可以发现只要你一直输入1程序就会不断的提示你输入选项,可是当你输入2的时候程序就会终止,你能根据这个运行结果想到要实现这个效果,需要编写什么代码吗?
可能你已经猜到了,需要使用到break关键字,break翻译过来是“打断”的意思,放在Java程序中的作用就是:结束整个循环过程
好了,现在来一起看看刚刚那段效果的源代码吧。

在这里插入图片描述

现在你应该基本了解break的用法了,不过我还有个小秘密要告诉你:

在这里插入图片描述

如果我们在循环中使用switch语句,那么在switch语句中break就不能结束当前循环了,而只能结束switch语句。

continue关键字
continue关键字的用途是:结束一次循环事件,开始下一个循环事件,也就是忽略该语句之后的语句,执行循环体的下一次循环。
例如:

int i = 0;
while(i < 4){
if(i == 2){
i++;
continue;
}
System.out.println(i);
i++;
}

输出结果:

0
1
3

思考题
你能根据所学知识,实现如下效果吗?
在这里插入图片描述

在评论区,把你的答案贴出来吧。

编程要求
请在start-end区域中填充代码,使用本关所学知识,使你的程序输出如下结果:

在这里插入图片描述

要求:当 i = 13 时,输出其是奇数还是偶数后结束循环。

测试说明
平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关

代码实现

package step4;

public class HelloWorld {
	public static void main(String[] args) {
		
		int i = 0;
		
		while(i <= 20){
			i++;
			/*****start*****/
			 if( i%2==0 ){
                System.out.println( i + "是偶数");
            }
            else {
                System.out.println(i + "是奇数");
            }    
            if( i == 13 ) {
                break;
            }

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

**
第5关:Java循环结构之for循环**


任务描述
使用本关所学知识,实现一个自然数N的阶乘。

在这里插入图片描述

相关知识
本关我们来学习Java中最常用的循环语句——for循环,for循环的功能和while循环大致相同,只是写法上有区别。如下:

在这里插入图片描述

具体使用方式:

for(初始化语句;条件;控制循环次数){
<若干语句>
}

在这里插入图片描述

输出:

做了1个俯卧撑
做了2个俯卧撑
做了3个俯卧撑
做了4个俯卧撑
做了5个俯卧撑

编程要求
是不是会用了呢?来试试吧,在start-end区域中填充代码,用for循环实现一个自然数N的阶乘。
例如:给定一个数数N=5,那么它的阶乘为12345。
效果图如下:
在这里插入图片描述

测试说明
平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关。

代码实现

package step5;

import java.util.Scanner;

public class HelloWorld {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请给定一个自然数N:");
        //获取输入的整数N
        int sum = 1;        
        /*****start*****/
        for(int N = sc.nextInt(); N>0; N--) {
          sum=sum*N;
        }

        /*****end*****/
        
        System.out.println("自然数N的阶乘为" + sum);
        
    }
}
  • 11
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第1~3章主要介绍Python基本概述与基础编程方面的内容,包括Python基本介绍、Python开发环境搭建、Python基础语法、数据类型与运算符方面的内容。   第4章主要介绍Python的几种典型控制结构,事实上,控制结构在编程中非常重要,对于这一部分内容建议重点掌握,要求掌握得非常熟练,尤其是循环结构部分。   第5章和第6章主要介绍Python中稍微复杂一些的基础知识,包括迭代与生成、函数、模块等基础知识。   第7章和第8章主要介绍Python面向对象编程方面的知识,对于这一部分的知识尽量用了比较通俗的案例进行讲解,希望大家可以更好地掌握,因为后续如果想一些大型的项目,常常会用面向对象的编程思想去编程。   第9~12章主要介绍Python基础中的一些提升部分的知识,主要包括正则表达式、数据库操作、文件操作、异常处理等,这一部分的知识事实上我们在实际项目中会常常遇到,用得非常多,是基础提升的关键部分。   第13章主要为大家介绍一个火车票查询与自动订票的项目,主要目的是希望读者可以运用之前学过的基础知识完成这个项目,将基础知识运用于项目开发实践。   第14章主要介绍了一个2048小游戏项目,主要目的是希望读者可以通过此2048小游戏项目,熟练掌握Python的基础知识,将Python基础知识融会贯通,并完成一个好玩的小游戏项目,培养综合运用知识的能力。   通过这14章的学习,目的是希望读者可以对Python基础一个全面的掌握,同时,书中涉及的代码,希望读者可以自己手动输入一遍,这样可以更好地掌握相关知识。
《JSP网络编程从基础实践》光盘说明 光盘的实例代码目录中包含了前10章的所有实例的源代码,实例名称及其所处章节如下: 第1章 JSP技术概述 实例1 第一个JSP页面 第3章 Web开发基础 实例2 HTML与JavaScript交互示例 第4章 JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符截取程序示例 实例8 查找字符串程序示例 实例9 StringBuffer综合应用程序示例 实例10 日期数据应用示例 实例11 算术表达式综合运用实例 实例12 switch语句示例 实例13 循环应用综合实例 实例14 一个简单的计数器 实例15 include指令应用示例 实例16 forward应用程序示例 实例17 param应用程序示例 实例18 plugin应用程序示例 实例19 中文字符处理程序示例 第5章 JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用out对象输出表格 第6章 JSP文件操作 实例28 File类常用方法示例 实例29 列出目录下所有的文件和文件夹 实例30 利用字节流读取文件中的内容 实例31 利用字节流把内容写入文件 实例32 用字符输入流读取文件 实例33 用字符输出流写文件 实例34 随机读取文件程序示例 实例35 故事接龙 实例36 文件上传 实例37 在浏览器中打开文件 实例38 文件下载 实例39 用jspSmartUpload组件实现文件上传 实例40 应用jspSmartUpload组件进行较复杂的表单处理 实例41 用jspSmartUpload组件来实现文件下载 实例42 分页读取文件内容 第7章 在JSP中使用数据库 实例43 顺序查询数据库表中的数据 实例44 移动查询 实例45 参数查询 实例46 模糊查询 实例47 综合查询 实例48 追加记录 实例49 删除记录 实例50 更新记录 实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询数据库JavaBean 实例59 购物车JavaBean及其应用 实例60 数据库记录分页操作JavaBean 第9章 Servlet技术 实例61 JSP与Servlet程序的对比分析 实例62 一个简单的servlet 实例63 用servlet获取表单数据 实例64 用servlet读写文件数据 实例65 用servlet访问数据库 实例66 一个简单的struts应用实例——用户登录 第10章 JSP中的JavaMail开发 实例67 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL
《JSP网络编程从基础实践》 实例1 第一个JSP页面Web开发基础 实例2 HTML与JavaScript交互示例JSP语法 实例3 JSP程序的基本结构 实例4 简单数据类型综合应用实例 实例5 包装类综合应用实例 实例6 数组应用实例 实例7 字符截取程序示例 实例8 查找字符串程序示例 实例9 StringBuffer综合应用程序示例 实例10 日期数据应用示例 实例11 算术表达式综合运用实例 实例12 switch语句示例 实例13 循环应用综合实例 实例14 一个简单的计数器 实例15 include指令应用示例 实例16 forward应用程序示例 实例17 param应用程序示例 实例18 plugin应用程序示例 实例19 中文字符处理程序示例JSP的内置对象 实例20 request常用方法的应用 实例21 获得表单数据 实例22 页面重定向程序示例 实例23 定时刷新页面程序示例 实例24 记住会话的用户名 实例25 猜字母游戏 实例26 网站计数器 实例27 用out对象输出表格JSP文件操作 实例28 File类常用方法示例 实例29 列出目录下所有的文件和文件夹 实例30 利用字节流读取文件中的内容 实例31 利用字节流把内容写入文件 实例32 用字符输入流读取文件 实例33 用字符输出流写文件 实例34 随机读取文件程序示例 实例35 故事接龙 实例36 文件上传 实例37 在浏览器中打开文件 实例38 文件下载 实例39 用jspSmartUpload组件实现文件上传 实例40 应用jspSmartUpload组件进行较复杂的表单处理 实例41 用jspSmartUpload组件来实现文件下载 实例42 分页读取文件内容在JSP中使用数据库 实例43 顺序查询数据库表中的数据 实例44 移动查询 实例45 参数查询 实例46 模糊查询 实例47 综合查询 实例48 追加记录 实例49 删除记录 实例50 更新记录 实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询数据库JavaBean 实例59 购物车JavaBean及其应用 实例60 数据库记录分页操作JavaBeanServlet技术 实例61 JSP与Servlet程序的对比分析 实例62 一个简单的servlet 实例63 用servlet获取表单数据 实例64 用servlet读写文件数据 实例65 用servlet访问数据库 实例66 一个简单的struts应用实例——用户登录JSP中的JavaMail开发 实例67 发送文本格式的邮件 实例68 发送 HTML邮件 实例69 发送带有附件的邮件 实例70 接收EMAIL

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

请你吃茶去

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

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

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

打赏作者

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

抵扣说明:

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

余额充值