作者:孙玉昌,昵称【逐个哥】,另外【壹壹哥】也是我哦
CSDN博客专家、万粉博主、阿里云专家博主、优质作者
前语
在前面的文章中,壹哥给咱们解说了次序结构、分支结构,接下来咱们再来学习Java里的循环结构。咱们能够经过while、do-while、for、foreach等方法完结循环,今天壹哥会把这几种循环方法都给咱们解说到。这是近期的一个要点,一同也是难点哦,快拿出小本子做好笔记吧。
——————————前戏已做完,精彩即开端—————————-
全文大约【2800】 字,不说废话,只讲能够让你学到技能、明白原理的纯干货!本文带有丰厚事例及配图视频,让你更好地了解和运用文中的技能概念,并能够给你带来具有满足启迪的思考……
一. 循环结构
1. 概念
在学习Java里的循环之前,咱们先来了解一下到底什么是循环,以及循环的作用。咱们先来看下面这张图:
咱们想一下,咱们在400米的跑道上参加万米长距离跑,正常情况下要跑25圈,这25圈每一圈的跑步过程其实都是相同的,相当于是咱们重复地转了25圈。跑完第25圈时,咱们就会结束长距离跑,当然你也能够提前结束长距离跑。但假如你是一个超人,跑完25圈之后还持续跑下去,直到天荒地老,这就成了一个”死循环“了。
所以循环其实便是重复地完结某一件工作或者某一个操作,且该操作有开端和结束。咱们在履行循环时,需求满足一定的循环条,反复履行特定的代码,当条件被打破时就要结束循环。这个循环操作不一定是彻底相同的操作,而是相似的操作,比如咱们能够循环的播放音乐、循环核算1000个学生的成绩等。
2. 完结方法
明确了循环的概念之后,咱们还要知道有哪几种具体的循环完结方法。在Java中,完结循环的方法有:
for循环;
while循环;
do-while循环;
foreach循环
接下来壹哥别离针对这几种完结方法,结合代码事例教会咱们怎样进行循环操作。
二. for循环
首要咱们来学习一下Java里的for循环,这也是咱们开发时最常用的一种循环方式。
1. 语法
for循环的根本语法如下:
for(①.声明并初始化循环变量;②.判别循环条件;④.改动循环变量值){
//③.循环体
}
语法说明:
- for循环最先履行初始化过程。在这儿能够声明一种类型,但能够初始化一个或多个循环控制变量,也能够是空句子;
- 判别循环条件,检测布尔表达式的值。假如为 true,循环体被履行。假如为false,循环中止,开端履行循环体后面的句子。且for循环的履行次数在履行前就已经是确认的。
- 履行一次循环后,就会更新一次循环控制变量的值;
- 再次检测布尔表达式,循环履行上面的过程。
2. 履行流程
依据上面的for循环语法,壹哥把for循环的履行流程给咱们做个详细的解说:
- 首要咱们要在第①步声明并初始化一个变量,该操作在循环中只会履行一次;
- 每次循环之前,在第②步判别循环条件是否成立,只有当条件为true才会履行,假如条件为false则结束循环;
- 每次循环时,都会在③中履行循环体内的代码;
- 每次循环结束后,会自动履行第④部分,改动变量的初始值;
- for循环中①、②、④部分都能够省略不写,但有必要存在两个”分号;“,也能够只写一部分;
- 咱们声明变量类型时,不一定非得是int,最终改动初始值也不一定非得是++;
- for循环中支撑嵌套循环。
依据上面的过程,壹哥把要点过程给咱们总结如下:
①–>②–>③–>④–>②–>③–>④–>②–>③–>④-…..-②
如下图所示:
3. 根本事例
在了解了根本概念之后,壹哥再经过一个事例来给咱们解说。
3.1 事例一
需求:循环输出100遍 ”跟逐个哥学java“
/**
* @author 逐个哥Sun
*/
public class Demo02 {
public static void main(String[] args) {
//for循环,这儿的i便是一个局部变量
for( int i=0; i<100; i++) {
System.out.println("跟逐个哥学java,i="+i);
}
}
}
注意,上面for循环中界说的变量i便是一个局部变量哦!
3.2 事例二
需求:核算1-100的和,1+2+3+4+5+…+100
/**
* @author 逐个哥Sun
*/
public class Demo02 {
public static void main(String[] args) {
// 核算1-100的和,1+2+3+4+5+...+100
//界说一个用于存储”和“的局部变量
int sum = 0;
for (int i = 1; i <= 100; i++) {
// i = 1;
// sum=0+1;
// i = 2;
// sum= 1+2;
sum = sum + i;
}
System.out.println("sum=" + sum);
}
}
4. 循环嵌套
在循环中是支撑嵌套的,也便是说一个for循环里面能够嵌套另一个for循环。有的小伙伴会很好奇,for循环中能够嵌套几个for循环?其实理论上能够嵌套很多,但为了功率和代码的可读性考虑,for循环的嵌套最好不要超过3层,否则功率真的很低,尤其是在大量循环时。
4.1 事例一
需求:打印出一个三角形,用“*”来表明。
/**
* @author 逐个哥Sun
*/
public class Demo02 {
public static void main(String[] args) {
// for循环嵌套--打印出一个三角形,用“*”来表明
for (int i = 1; i <= 5; i++) {
//界说第2个局部变量j,j设置为<=i
for (int j = 1; j <= i; j++) {
//这儿千万不要换行哦
System.out.print(" * ");
}
//这儿一定要换行哦
System.out.println();
}
}
}
作用如下图所示:
4.2 事例二
需求:打印出九九乘法表。
/**
* @author 逐个哥Sun
*/
public class Demo02 {
public static void main(String[] args) {
// for循环嵌套--打印出一个三角形,用“*”来表明
for (int i = 1; i <= 5; i++) {
//界说第2个局部变量j,j设置为<=i
for (int j = 1; j <= i; j++) {
//这儿千万不要换行哦
System.out.print(" * ");
}
//这儿一定要换行哦
System.out.println();
}
}
}
作用如下图所示:
5. 几种变形写法
以上的事例,是for循环的常用写法,但实际上for循环还有几种”变异“的写法。对这些变形的写法,咱们能够掌握了解。
5.1 界说多个初始化变量
咱们先来回忆一下for循环的根本语法:
for(①.声明并初始化循环变量;②.判别循环条件;④.改动循环变量值){
//③.循环体
}
在for循环中,①中能够一同界说为多个变量i、j、k等,②中的判别条件不能运用多个变量,④中能够一同运用多个变量,并更改动量的值,事例如下所示:
/**
* @author 逐个哥Sun
*/
public class Demo02 {
public static void main(String[] args) {
//①中能够一同界说为多个变量i,j,k等;
//②中的判别条件不能运用多个变量;
//④中能够一同运用多个变量,并更改动量的值
for (int i = 0,j=0; i < 100; i++,j++) {
System.out.println("跟逐个哥学java,i=" + i+",j="+j);
}
}
}
5.2 简写方式
在for循行中,第①/②/④这几部分的内容都是能够省略简写的。
/**
* @author 逐个哥Sun
*/
public class Demo02 {
public static void main(String[] args) {
//简写方式1:在第一部分中简写变量的声明
//int i = 0;
//for (; i < 100; i++) {
// System.out.println("跟逐个哥学java,i=" + i);
//}
//简写方式2:在第①和④中简写
//int i = 0;
//for ( ; i < 100; ) {
// i++;
// System.out.println("跟逐个哥学java,i=" + i);
//}
//简写方式3,①/②/④都简写--->死循环
int i = 0;
for (;;) {
i++;
System.out.println("跟逐个哥学java,i=" + i);
}
}
}
咱们一定要注意,假如是第三种简写方式,把①/②/④都简写了,就会成为死循环,本段程序会一向不停地打印下去。此刻咱们能够点击控制台的”红色“按钮中止程序的运转,如下图所示。
——————————正片已结束,来根过后烟—————————-
三. 结语
至此,壹哥就把Java里的for循环解说结束了。现在你知道for循环是怎样回事了吗?鄙人一篇文章中,壹哥会持续给咱们解说Java里的第二种循环方法,敬请期待哦。假如你单独学习觉得有很多困难,能够参加壹哥的学习互助群,咱们一同交流学习。
四. 配套视频
假如你不习惯阅读技能文章,或是对文中的技能概念不能很好地了解,能够来看看壹哥帮你筛选出的视频教程。与本文配套的Java学习视频,链接如下:
player.bilibili.com/player.html…
五. 今天作业
1. 第一题
核算100以内,一切的能被3整除的数字之和,评论区给出你的代码完结。
2. 第二题
今有鸡兔同笼,上有35个头,下有94足,问鸡兔各几只?请编写程序解决这个问题。