引言
在生活中,很多事情都是需要重复去做的,让计算机重复做一件事,就需要将一个代码块写很多遍,既麻烦又很占计算机内存。那么我们有没有什么办法优化一下计算机重复执行某一个操作呢?本篇将介绍Java编程语言中的第三种流程结构—循环结构。
一、什么是循环结构?
示例:循环结构是针对一件事需要重复做很多遍,即一个代码块需要执行很多次而出现的一种代码优化的结构。
其要素有:
1.循环变量:一般是用来记录循环的次数。
2.循环条件:用来控制是否继续执行循环。
3.循环体:就是需要重复进行的操作(代码块)。
二、循环结构的方式
1.while循环
while的中文意思为:当,在…的时候。
所以,while循环语句,可以理解为:当(满足循环条件)的时候,执行(循环体)
流程图为:
其中的循环变量自增因为也是要重复执行,所以一般放在循环体中,这里为了凸显出循环结构的要素,我给单独放在外面了。
案例:打印100次“你好”。
代码如下(示例):
int i = 1;
while (i<=100){
System.out.println("第"+i+"遍:"+"你好");
i++;
}
2.do—while循环
do—while的中文意思为:做…当…的时候。
所以,do—while循环语句,可以理解为:做(循环体),当(满足循环条件)的时候
流程图为:
其中的循环变量自增因为也是要重复执行,所以一般放在循环体中,这里为了凸显出循环结构的要素,我给单独放在外面了。
案例:打印100次“你好”。
代码如下(示例):
int i = 1;
do {
System.out.println("第"+i+"遍:"+"你好");
i++;
}while (i<=100);
while与do—while的区别
1.while先判断循环条件是否满足,满足才执行循环体。
2.do—while先执行循环体,再判断是否满足循环条件。
3.do—while循环会至少执行一次循环体
3.for循环
for的中文意思有一个是“因为,由于”。在for循环中,我理解为取这个意思,意为:因为(循环条件)才执行(循环体)。
语法为:
for(定义循环变量;循环条件;循环变量自增){循环体}
流程图为:
虽然for循环的循环变量,循环条件,循环变量自增都写在一个()里,但是for循环的执行顺序还是跟流程图所示那样。
案例:打印100次“你好”。
代码如下(示例):
for(int i = 1;i<=100;i++){
System.out.println("第"+i+"遍:"+"你好");
}
对比while循环,可以发现,for循环在某种意义上可以理解为while循环的简化版。
4.循环的嵌套
循环的嵌套指的就是,在一个循环的循环体里再嵌套一个循环。可以多重嵌套,只给出一个循环里嵌套另一个循环的实例。其他的多重嵌套实际上就是套用同样的模板。
案例:打印一个菱形
代码如下(示例):
System.out.println("------------菱形---------------");
//上半部分
for (int i = 1; i <= 5; i++) {
//每一行的空格数
for (int j = 1; j <=5-i ; j++) {
System.out.print(" ");
}
//每一行的*
for (int j = 1; j <=2*i-1 ; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
//下半部分
for (int i = 1; i <= 5; i++) {
//每一行的空格数
for (int j = 1; j <=i ; j++) {
System.out.print(" ");
}
//每一行的*
for (int j = 1; j <=9-2*i ; j++) {
System.out.print("* ");
}
System.out.println();//换行
}
=========================================================
输出结果为:
------------菱形---------------
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
总结
循环结构的要点在于:
1.找到循环体,即需要重复做的事。
2.确定循环条件,即确定在什么样的情况下才执行循环体。
3.设定循环变量,即设置一个记录循环次数的量。