本小节需要你完成一个做俯卧撑的小程序,效果如下:
文章图片
相关知识
Java中常用的循环有三种:while,do…while,for。
本小节我们先来看看while循环。
while循环的特点
循环顾名思义就是:重复的做某个事情,Java中的循环也是如此,当我们在开发中需要重复的做某个事情的时候,你就要想到循环了,接下来我们就来看看while循环是怎么使用的吧!
while(条件){
<条件成立执行的代码>
}
哈哈,是不是似曾相识呢?和我们在之前中讲到的if语句很像吧。没错while语句的用法和if差不多,if语句的特点是如果小括号中的条件成立,就执行一次大括号中的代码,那while循环语句的特点呢?我选择保密。
while循环体验
在D盘下新建一个文件HelloWorld.java输入下列代码。
文章图片
- 编译运行。
文章图片
文章图片
可是怎么解决呢?哈哈,授人以鱼不如授人以渔。
编程要求
在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*****/
}
}
使用while循环实现一个1到100的整数相加的小程序。效果图如下:
文章图片
相关知识
经过上一小节,你应该认识到了,循环就像在操场跑圈,而编写一个循环语句需要三个要素:1.控制循环的条件,2.控制循环的次数,3.编写循环执行的代码;
文章图片
文章图片
知道了这些知识,你应该可以完成本关的任务了吧,我们一起来思考一下。 要实现一个从
1
到100
整数相加的程序,如果没有学循环,你是不是这样写呢? 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*****/
}
}
本关需要使用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);
}
}
使用本关所学内容完成一个小程序,输出如下结果:
文章图片
相关知识
当我们在循环处理某一事物时,可能会在某种特定的条件下需要结束整个循环过程,或者是结束本次循环继续下一次循环,那这个时候应该怎么办呢?两个关键字来帮你解决问题,break和continue。
break关键字
先来看一段代码的运行效果,如下:
文章图片
可以发现只要你一直输入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。
效果图如下:
文章图片
测试说明
平台会对你的代码进行运行测试,如果实际输出与预期输出相同,则算通关。
【头歌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);
}
}
推荐阅读
- 头歌Java|十一、方法的使用
- 头歌Java|一、Java初体验(头歌实践平台)
- Java13新特性及代码示例
- java|LeetCode(561. Array Partition(数组分割))
- Java基础知识|【Java基础知识】IO流--标准输入输出流、打印流PrintStream
- Java|SHA算法简介
- LeetCode|LeetCode 432. 全 O(1) 的数据结构(双向链表+哈希表) / 720. 词典中最长的单词 / 2043. 简易银行系统
- JVM|JVM--基础--20--对象的创建过程
- 后端开发|Springboot实现上传文件以及文件实时预览(包括图片预览,视频预览)