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

第1关:Java循环结构之while循环
任务描述
本小节需要你完成一个做俯卧撑的小程序,效果如下:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

相关知识
Java中常用的循环有三种:while,do…while,for。
本小节我们先来看看while循环。
while循环的特点
循环顾名思义就是:重复的做某个事情,Java中的循环也是如此,当我们在开发中需要重复的做某个事情的时候,你就要想到循环了,接下来我们就来看看while循环是怎么使用的吧!
while(条件){
<条件成立执行的代码>
}
哈哈,是不是似曾相识呢?和我们在之前中讲到的if语句很像吧。没错while语句的用法和if差不多,if语句的特点是如果小括号中的条件成立,就执行一次大括号中的代码,那while循环语句的特点呢?我选择保密。
while循环体验
在D盘下新建一个文件HelloWorld.java输入下列代码。
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

  1. 编译运行。
    头歌Java|五、 循环结构基础(头歌实践平台)
    文章图片
做完上面两步之后你会发现你的程序一直在运行,根本停不下来,这是什么原因呢?也许你已经看出来了。
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

可是怎么解决呢?哈哈,授人以鱼不如授人以渔。
编程要求
在start-end区域中填充代码,使程序能输出如下效果:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

测试说明
如果你写了一个死循环,评测的时候会导致评测超时,如果右侧一直在加载,说明评测超时了,这个时候请刷新你的页面。
代码实现
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的整数相加的小程序。效果图如下:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

相关知识
经过上一小节,你应该认识到了,循环就像在操场跑圈,而编写一个循环语句需要三个要素:1.控制循环的条件,2.控制循环的次数,3.编写循环执行的代码;
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

知道了这些知识,你应该可以完成本关的任务了吧,我们一起来思考一下。 要实现一个从1100整数相加的程序,如果没有学循环,你是不是这样写呢? java int sum = 1 + 2 + 3 + 4 + 5 +…..+ 100; 不过现在我们学了循环就不能用前面那么费劲的方式写了,可以发现这个程序需要我们重复做一个事情,而且数据也是不断变化的,所以需要你思考两个问题: 1. 重复做的事情是什么? 1. 哪些数据是变化的?
想好了这两个问题就可以开始了,加油。
编程要求
在start-end区域中填充代码,使用while循环实现一个1到100的整数相加,并输出相加后的结果。效果图如下:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

测试说明
平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关
代码实现
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先执行循环体后进行条件判断。例如:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

语法结构:
do { <若干语句> } while(条件);

执行过程:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

使用方法:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

能告诉我输出什么吗?
编程要求
在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关键字
任务描述
使用本关所学内容完成一个小程序,输出如下结果:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

相关知识
当我们在循环处理某一事物时,可能会在某种特定的条件下需要结束整个循环过程,或者是结束本次循环继续下一次循环,那这个时候应该怎么办呢?两个关键字来帮你解决问题,break和continue。
break关键字
先来看一段代码的运行效果,如下:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

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

现在你应该基本了解break的用法了,不过我还有个小秘密要告诉你:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

如果我们在循环中使用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

思考题
你能根据所学知识,实现如下效果吗?
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

在评论区,把你的答案贴出来吧。
编程要求
请在start-end区域中填充代码,使用本关所学知识,使你的程序输出如下结果:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

要求:当 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|五、 循环结构基础(头歌实践平台)
文章图片

相关知识
本关我们来学习Java中最常用的循环语句——for循环,for循环的功能和while循环大致相同,只是写法上有区别。如下:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

具体使用方式:
for(初始化语句; 条件; 控制循环次数){ <若干语句> }

头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

输出:
做了1个俯卧撑 做了2个俯卧撑 做了3个俯卧撑 做了4个俯卧撑 做了5个俯卧撑

编程要求
是不是会用了呢?来试试吧,在start-end区域中填充代码,用for循环实现一个自然数N的阶乘。
例如:给定一个数数N=5,那么它的阶乘为12345。
效果图如下:
头歌Java|五、 循环结构基础(头歌实践平台)
文章图片

测试说明
平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
【头歌Java|五、 循环结构基础(头歌实践平台)】代码实现
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); } }

    推荐阅读