第十四届蓝桥杯集训——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继续
继续的含义是不结束所有循环,只结束了当前的此次循环,继续进入到下一次循环。