Java入门 - 循环结构基础

第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=1;
		while(i<=6){
			System.out.println("做了" +i+ "个俯卧撑");
			i=i+1;
		}		
		/*****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 i=1;
		int sum=0;
		while(i<=100){
			sum=sum+i;
			i++;
		}
		System.out.print("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{
			i++;
			if(i%6==0) count+=1;
		}while(i<=100);
		/*****end*****/
		System.out.println("6的倍数出现的次数为:" + count);
	}
}

第4关:while,do…while循环测试题
任务描述
本关任务:结合前面三个关卡学到的知识,完成本关选择题。
相关知识
编程要求
根据相关知识,按照要求完成右侧区域内选择题任务,包含单选题和多选题。
测试说明
平台会对你选择的答案进行判断,全对则通过测试。
开始你的任务吧,祝你成功!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第5关:break和continue关键字
任务描述
使用本关所学内容完成一个小程序,输出如下结果:
在这里插入图片描述
相关知识
当我们在循环处理某一事物时,可能会在某种特定的条件下需要结束整个循环过程,或者是结束本次循环继续下一次循环,那这个时候应该怎么办呢?两个关键字来帮你解决问题,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 <= 12){
			i++;
			/*****start*****/
			if(i%2==0      ){
                System.out.println( i + "是偶数");
			} else
			System.out.println(i + "是奇数"); 	
			/*****end*****/
		}	
	}
}

第6关:break和continue关键字测试题
任务描述
本关任务:完成break和continue关键字测试题。
相关知识
编程要求
根据相关知识,按照要求完成Begin-End区域内选择题任务,包含单选题和多选题。
测试说明
平台会对你选择的答案进行判断,全对则通过测试。
开始你的任务吧,祝你成功!
参考答案:
在这里插入图片描述
第7关: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:");
		int N = sc.nextInt();//获取输入的整数N
		int sum = 1;		
		/*****start*****/
		int i=1;
		for(i=1;i<N;i++){
			sum=sum*(i+1);
		}
		/*****end*****/	
		System.out.println("自然数N的阶乘为" + sum);
	}
}

第8关:for循环测试题
任务描述
本关任务:根据上一关内容完成选择测试题。
相关知识
相关知识略
编程要求
根据相关知识,按照要求完成右侧选择题任务。
测试说明
平台会对您选的的答案进行运行测试,如果实际输出与预期输出相同,则算通关。
开始你的任务吧,祝你成功!
参考答案:
在这里插入图片描述

  • 22
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值