前言

循环结构是java语言中一个非常重要的语法结构,通过循环结构,我们可以重复执行一段代码逻辑。下面我们在正文中详细讲解java中的循环结构如何使用。

正文
for循环

for循环是我们在开发中最常用的一种循环结构之一,通常应用在我们知道需要循环次数的情况下,具体的使用语法如下:

for(初始化值;满足条件;更新初始值){
    //循环执行的逻辑
}
  • 1.
  • 2.
  • 3.

在for循环中有三个表达式,第一个为初始值,第二个为初始值需要满足的条件,只有满足条件才能走循环体中的逻辑,第三个表达式为去更新初始值,每次循环后都会执行更新的表达式。

下面我们直接看样例代码:

public class One {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++){
            System.out.println(i);
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

解释:在这段代码中,我们在main函数中定义了一个for循环结构,首先声明一个int型的变量i,并赋予初始值为1。

然后第二个表达式为循环需要满足的条件,也就是当i<=10满足的时候,循环体就会一直执行

然后第三个参数为更新初始值,也就是每次循环后都会执行 i++,也就是每次循环,变量i的值都会加1。

最后在循环体中,我们打印了一下每次循环中i的值。

所以这段代码所实现的功能就是打印数字1-10。

while循环

那第二种必须要掌握的循环结构就是while循环了,可以用在我们不知道具体循环次数的情况下,while循环会在每次循环前去检查条件是否满足,只有满足条件才会去执行循环体。

语法:

while(条件语句){
    //循环体
}
  • 1.
  • 2.
  • 3.

通过上面的描述我们可以猜到,条件语句的最终结果只能是true。只有当满足条件,也就是结果是true的时候才会执行循环体。

下面我们使用while循环去实现前面的案例,打印1-10的数字。

public class One {
    public static void main(String[] args) {
        int i = 1;
        while (i<=10){
            System.out.println(i);
            i++;
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

解释:

我们在这段代码中先声明了一个int型的变量i,并给它赋予初始值为1;

然后我们在while循环中设置条件为i<=10,只有当i的值小于等于10的时候才会执行循环体。

然后我们每次循环先打印i的值,打印完成后我们将i的值每次做加1操作。

所以第一次循环i的值为1,满足条件,控制台输出1,i做加一操作后,i的值变为2.

然后开始第二次循环,满足条件,控制台输出2,i再做加一操作…

一直到循环第10次,控制台先输出数字10,然后i做加一操作后,i的值变为11,然后下次循环不满足条件,则循环就结束了。

do while循环

第三中必须掌握的循环结构就是do while循环了。do while循环和while循环的区别就是前者会先执行一次然后再去判断条件。而while循环是先判断条件是否满足才能进入循环体。

我们来看do while循环的语法:

do{
    
}while(条件语句);
  • 1.
  • 2.
  • 3.

我们还是直接看样例代码:

public class One {
    public static void main(String[] args) {
        int i = 1;
        do {
            i++;
        }while (i<1);
        System.out.println(i);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

解释:

我们在这段代码中先声明了一个int型的变量i,并给它赋予初始值为1;

然后我们在do while循环体中做i加一操作,然后条件语句是当i<1是true的时候,执行下一次循环体

然后在最后输出i的值。

这里我们为了让大家更清晰的观察到do while会先执行一次的效果,所以i的初始值其实就不满足条件语句的。

但是最终输出的i的值为2,说明i++是执行了一次的。

控制循环

控制循环是我们必须掌握的知识点语法,它能帮助我们更好的去控制循环。

比如我们想在某次循环的时候去跳过这次循环,不执行循环体中的处理逻辑

又比如我想在某次循环后就停止循环,终止整个循环结果。

所以控制循环的语法就是结果以上这种问题的。

控制循环主要有两个关键字:

  • break:立即退出当前循环。
  • continue:跳过当前循环的剩余部分逻辑,并进行下一次循环。

我们还是直接看代码示例:

public class One {
    public static void main(String[] args) {
        for (int i = 1; i <= 10; i++) {
            if (i == 5) {
                continue; // 跳过5
            }
            if (i == 8) {
                break; // 结束循环
            }
            System.out.println(i);
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

我们修改了前面for循环打印1-10数字的逻辑,加了一些控制逻辑。

其中,当i的值等于5的时候,跳过本次循环剩余的逻辑,继续进行之后的循环,也就是不打印数组5.

然后当i的值为8的时候,通过break关键字,终止当前整个循环,也就是8 9 10 都不会打印了。

循环嵌套

循环嵌套就是在循环体中在写一层循环结构,java中是支持多层循环嵌套的,但是要注意的是过多的循环嵌套会影响代码执行的效率

代码样例:

public class One {
    public static void main(String[] args) {
        for (int i = 1; i <= 5; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

通过两层的for循环嵌套,我们实现打印直角三角形的效果。

* 
* * 
* * * 
* * * * 
* * * * *
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.