Java之循环结构、break、continue用法及说明

 更新时间:2025年10月30日 09:16:33   作者:不懒的懒羊羊.  
本文介绍了Java中的三种循环语句:while、for和do-while,并详细讲解了它们的使用方法和应用场景,通过实例练习,读者可以掌握循环语句的编写技巧

Java的循环语句:

  • while语句
  • for语句
  • do while语句

学习循环之前我们先了解一下循环的作用?

减少代码的重复编写、灵活的控制程序的执行。

for循环结构

  • 控制一段代码反复执行很多次。

for循环格式

for(初始化语句;循环条件;迭代语句){
            循环体语句;
}

代码举例:

//使用for打印三次Hello World
for (int i = 0; i < 3; i++) {
     System.out.println("Hello World");
}

上面学习了for循环语句的循环格式下面我们来写几个题目练习一下。

案例1、求和:求1 - n之间的数据和,并在控制台输出。

  • 方法1:使用for循环语句。
  • 方法2:使用求和公式。

代码方法1:

//方法1:使用循环
import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int sum = 0;
        for(int i = 0; i <= n; i++){
            sum += i;
        }
        System.out.println(sum);
    }
}

方法2:求和公式

import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int sum = 0;
        //下面的处理方法是为了防止int 爆掉
        if(n % 2 == 0){
            sum = n / 2 * (n + 1);
        }else{
            sum = (n + 1) / 2 * n;
        }
        System.out.println(sum);
    }
}

案例2:求1 - n 奇数的和或者偶数的和,这里以偶数为例。

import java.util.Scanner;
public class test {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int n = input.nextInt();
        int sum = 0;
        //1 + 3 + 5 + 7 + 9 + ... + n
        for(int i = 1; i <= n; i+=2){
            sum += i;
        }
        System.out.println(sum);
    }
}

while 循环结构

while循环格式

初始化语句;
while(循环条件){
    循环体;
    迭代语句;
}

注意:上面学习了for、while循环那么什么时候使用for,什么时候使用while循环语句?

  • for循环语句和while循环语句功能完全一样的,for能解决的while也可以解决,反之亦然。
  • 使用规范:知道循环几次:使用for;不知道循环几次建议使用:while。

do... while循环结构

do...while循环格式

初始化语句;
do {
   循环体;
   迭代判断;
} while (条件判断);

do...while循环特点:先执行后判断,至少执行一次。

三种循环的区别、和使用场景

死循环

死循环(Infinite Loop)是指在程序执行过程中无法正常退出的循环结构,具有以下特征:

  • 无限执行:循环条件始终为真,或者循环控制变量没有正确更新,导致循环体无限次执行
  • 资源消耗:持续占用CPU资源,可能导致程序卡死或系统性能下降
  • 无正常退出:除非外部干预(如强制终止程序),否则循环不会自动结束
        //for实现死循环
        for(;;){
        }
        //while实现死循环、经典写法
        while(true){
        }
        //do-while实现死循环
        do{
        }while(true);

循环嵌套

特点:外部循环执行一次,内部循环会全部执行完一轮。

案例9*9乘法表:下面我们打印一个9*9乘法表来理解循环嵌套

public class test {
    public static void main(String[] args) {
        print();
    }
    /**
     * 打印九九乘法表
     * 该方法无需参数,直接打印出标准的九九乘法表格式
     * 无返回值
     */
    public static void print() {
        // 外层循环控制行数,从1到9
        for(int i = 1; i <= 9; i++){
            // 内层循环控制每行的列数,从1到当前行数i
            // 打印乘法表的一行,从1*i到i*i
            for(int j = 1; j <= i; j++){
                System.out.print(j + "*" + i + "=" + i*j + "\t");
            }
            // 换行,开始下一行的打印
            System.out.println();

        }
    }
}

break、continue关键词

break关键字代码理解

public class test {
    public static void main(String[] args) {
        print();
    }
    public static void print() {
        // 外层循环控制行数,从1到9
        for(int i = 1; i <= 9; i++){
            if(i == 5){//当i == 5的时候直接结束循环后面的就不再执行了
                break; //直接结束本层循环
            }
            System.out.println(i);
        }
    }
}
//输出结构:
//1
//2
//3
//4

continue关键字代码理解

public class test {
    public static void main(String[] args) {
        print();
    }
    public static void print() {
        // 外层循环控制行数,从1到9
        for(int i = 1; i <= 9; i++){
            if(i == 5){
                continue; //跳过本次循环,只跳过i == 5的循环
            }
            System.out.println(i);
        }
    }
}
//输出结构:
//1
//2
//3
//4
//6
//7
//8
//9

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Flink JobGraph生成源码解析

    Flink JobGraph生成源码解析

    这篇文章主要为大家介绍了Flink JobGraph生成源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • SpringBoot Shiro权限管理方式

    SpringBoot Shiro权限管理方式

    这篇文章主要介绍了SpringBoot Shiro权限管理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • Java构造器方法深入理解

    Java构造器方法深入理解

    这篇文章主要介绍了Java构造器方法深入理解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Spring中的模块与应用场景详解

    Spring中的模块与应用场景详解

    这篇文章主要介绍了Spring中的模块与应用场景详解,Spring 框架可以为 Java 应用程序开发提供全面的基础设施支持,它是现在非常流行的 Java 开源框架,对于一个 Java 开发人员来说,熟练掌握 Spring 是必不可少的,需要的朋友可以参考下
    2023-09-09
  • 如何使用Java中的Optional

    如何使用Java中的Optional

    这篇文章主要介绍了如何使用Java中的Optional,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2020-11-11
  • Java多线程继承Thread类详解

    Java多线程继承Thread类详解

    Java多线程的两种实现方式:继承Thread类 & 实现Runable接口,今天我们来学习下继承Thread类,希望大家能够喜欢
    2016-06-06
  • Java 十大排序算法之计数排序刨析

    Java 十大排序算法之计数排序刨析

    计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法
    2021-11-11
  • Java9中对集合类扩展的of方法解析

    Java9中对集合类扩展的of方法解析

    这篇文章主要介绍了Java9 中对集合类扩展的of方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • 浅谈JDK8中的Duration Period和ChronoUnit

    浅谈JDK8中的Duration Period和ChronoUnit

    在JDK8中,引入了三个非常有用的时间相关的API:Duration,Period和ChronoUnit。他们都是用来对时间进行统计的,本文将会详细讲解一下这三个API的使用
    2021-06-06
  • MyBatis还是JPA?终于有答案了

    MyBatis还是JPA?终于有答案了

    这篇文章主要介绍了MyBatis还是JPA,中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10

最新评论