zl程序教程

您现在的位置是:首页 >  Java

当前栏目

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

2023-02-18 16:31:30 时间

第十四届蓝桥杯集训——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继续

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