第十四届蓝桥杯集训——JavaC组第十三篇——for循环

举报
红目香薰 发表于 2023/01/23 16:57:06 2023/01/23
【摘要】 ​ ​编辑第十四届蓝桥杯集训——JavaC组第十三篇——for循环目录第十四届蓝桥杯集训——JavaC组第十三篇——for循环for循环(重点)倒序迭代器for循环死循环for循环示例暴力循环等差数列求和公式基础循环展开循环控制语句break结束continue继续for循环(重点)for循环依然依赖于循环四要素。和 while 和 do while 循环都不太一样的一种循环结构。道理是和其...

 编辑

第十四届蓝桥杯集训——JavaC组第十三篇——for循环


目录

第十四届蓝桥杯集训——JavaC组第十三篇——for循环

for循环(重点)

倒序迭代器

for循环死循环

for循环示例

暴力循环

等差数列求和公式

基础循环展开

循环控制语句

break结束

continue继续




for循环(重点)

for循环依然依赖于循环四要素。

和 while 和 do while 循环都不太一样的一种循环结构。

道理是和其他两种一样的,都是循环执行代码的。 

语法格式如下:

for (初始值; 表达式; 迭代器) {
    循环体;
}

语法格式示例:

for (int i = 0; i < 10; i++) {
	System.out.println(i);    
}

for循环在一个逻辑表达中体现了除循环体外的其它三要素,这样很大程度上能减少忘记书写迭代器的问题。习惯使用for循环会对你的成长之路有很大的帮助。

for的用法也有很多,各种变化初始值,正序,倒序都可以执行。

倒序迭代器

我们把初始值换成一个较大的数,表达式改成大于0,迭代器的++换成--就能看到倒序输出了。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		for (int i = 10; i > 0; i--) {
			System.out.print(i+",");
		}
	}
}

输出效果: 

编辑

for循环死循环

我们在整个for使用的语法中可以看到使用的是【;】来区分于初始值、表达式、迭代器三个内容,我们一般控制循环都是会使用循环的三要素来控制,如果没有迭代器的话一般就会执行死循环,但是我们将整个for循环语法写成:

for(;;){}

这样就会变成一个死循环。

for循环示例

暴力循环

暴力计算100以内的所有的偶数和:

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int sum=0;
		for (int i = 1; i < 101; i++) {
			if(i%2==0) {
				sum+=i;
			}
		}
		System.out.println(sum);
	}
}

输出结果:

编辑

等差数列求和公式

等差数列求和公式计算100以内的所有的偶数和:

100以内的偶数有2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、48、50、52、54、56、58、60、62、64、66、68、70、72、74、76、78、80、82、84、86、88、90、92、94、96、98、100共50个。

2+4+6+8+…+92+94+96+98+100=(2+100)*50/2,那么,这个公式怎么出来的呢?

等差数列求和公式Sn=[n*(a1+an)]/2,其中初始值a1=2,终止于an=100,n=50,导入公式:

Sn=50*(2+100)/2,整理一下好看点:

等差数列求和公式=(2+100)*50/2=2550

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int a1=2;
		int an=100;
		int n=50;
		int sum=(a1+an)*n/2;
		System.out.println(sum);
	}
}

结果输出:

编辑

基础循环展开

循环展开1次,按照偶数的规律修改了迭代器每次i+=(1*2)。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int sum=0;
		for (int i = 2; i < 101; i+=2) {
			sum+=i;
		}
		System.out.println(sum);
	}
}

循环展开2次,循环体中单独添加了一次累计,并按照偶数的规律将迭代器每次i+=(2*2)。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int sum=0;
		for (int i = 2; i < 101; i+=4) {
			sum+=i;
			sum+=(i+2);
		}
		System.out.println(sum);
	}
}

循环展开3次: 循环体中添加了2次累计,并按照偶数的规律累计了i+=(2*3)。

package com.item.action;

public class Main {

	public static void main(String args[]) {
		int sum=0;
		for (int i = 0; i < 101; i+=6) {
			sum+=i;
			sum+=(i+2);
			sum+=(i+4);
		}
		System.out.println(sum);
	}
}

循环的用法是千变万化的,我们还有循环控制语句。

循环控制语句

break结束

我们之前在学习switch语句的时候认识了这个关键字,代表结束的意思,那么它在循环中也是结束的意思,我们来实验一下:

package com.item.action;

public class Main {

	public static void main(String args[]) {
		for (int i = 0; i < 10; i++) {
			if(i==5) {
				break;
			}
			System.out.print(i+"->");
		}
	}
}

示例结果:

编辑

continue继续

继续的含义是不结束所有循环,只结束了当前的此次循环,继续进入到下一次循环。

编辑

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。