跳转至

循环语句

定义

循环语句是Java中用于重复执行特定代码块的控制结构,主要包括for、while和do-while三种形式。

作用

循环语句在实际开发中具有以下重要价值:

  1. 重复处理:批量处理数据集合
  2. 遍历操作:访问数组或集合中的元素
  3. 条件循环:根据条件重复执行操作
  4. 计数控制:控制代码执行的次数
  5. 迭代处理:实现复杂的迭代算法

图表说明

for循环流程

graph TD
    A[开始] --> B[初始化 i=1]
    B --> C{i <= 5?}
    C -->|是| D[执行循环体]
    D --> E[i++]
    E --> C
    C -->|否| F[结束]

增强for循环流程

graph TD
    A[开始] --> B[获取数组元素]
    B --> C{还有元素?}
    C -->|是| D[处理当前元素]
    D --> B
    C -->|否| E[结束]

while循环流程

graph TD
    A[开始] --> B[初始化 count=1]
    B --> C{count <= 3?}
    C -->|是| D[执行循环体]
    D --> E[count++]
    E --> C
    C -->|否| F[结束]

do-while循环流程

graph TD
    A[开始] --> B[初始化 num=1]
    B --> C[执行循环体]
    C --> D[num++]
    D --> E{num <= 3?}
    E -->|是| C
    E -->|否| F[结束]

嵌套循环流程

graph TD
    A[开始] --> B[外层循环 i=1]
    B --> C{i <= 3?}
    C -->|是| D[内层循环 j=1]
    D --> E{j <= i?}
    E -->|是| F[打印 *]
    F --> G[j++]
    G --> E
    E -->|否| H[换行]
    H --> I[i++]
    I --> C
    C -->|否| J[结束]

break和continue流程

graph TD
    A[开始] --> B[初始化 i=1]
    B --> C{i <= 5?}
    C -->|是| D{i == 3?}
    D -->|是| E[continue]
    E --> B
    D -->|否| F{i == 5?}
    F -->|是| G[break]
    F -->|否| H[打印当前值]
    H --> I[i++]
    I --> C
    G --> J[结束]
    C -->|否| J

例子

public class LoopDemo {
    public static void main(String[] args) {
        // for循环示例
        System.out.println("for循环示例:");
        for (int i = 1; i <= 5; i++) {
            System.out.println("第" + i + "次循环");
        }

        // 增强for循环示例
        String[] fruits = {"苹果", "香蕉", "橙子"};
        System.out.println("增强for循环示例:");
        for (String fruit : fruits) {
            System.out.println(fruit);
        }

        // while循环示例
        System.out.println("while循环示例:");
        int count = 1;
        while (count <= 3) {
            System.out.println("while循环第" + count + "次");
            count++;
        }

        // do-while循环示例
        System.out.println("do-while循环示例:");
        int num = 1;
        do {
            System.out.println("do-while循环第" + num + "次");
            num++;
        } while (num <= 3);

        // 嵌套循环示例
        System.out.println("嵌套循环示例:");
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("* ");
            }
            System.out.println();
        }

        // break和continue示例
        System.out.println("break和continue示例:");
        for (int i = 1; i <= 5; i++) {
            if (i == 3) {
                continue; // 跳过3
            }
            if (i == 5) {
                break; // 结束循环
            }
            System.out.println("当前值: " + i);
        }
    }
}

执行结果

for循环示例:
第1次循环
第2次循环
第3次循环
第4次循环
第5次循环
增强for循环示例:
苹果
香蕉
橙子
while循环示例:
while循环第1次
while循环第2次
while循环第3次
do-while循环示例:
do-while循环第1次
do-while循环第2次
do-while循环第3次
嵌套循环示例:
* 
* * 
* * * 
break和continue示例:
当前值: 1
当前值: 2
当前值: 4

详细说明

  1. for循环:

    • 适合已知循环次数
    • 支持初始化、条件、更新
    • 可以嵌套使用
    • 增强for循环用于遍历集合
  2. while循环:

    • 适合未知循环次数
    • 先判断后执行
    • 条件为true时执行
    • 注意避免死循环
  3. do-while循环:

    • 至少执行一次
    • 先执行后判断
    • 条件为true时继续
    • 适合菜单类程序

推演说明

  1. for循环执行流程:

    • 执行初始化语句
    • 判断循环条件
    • 执行循环体
    • 执行更新语句
    • 重复步骤2-4
  2. while循环执行流程:

    • 判断循环条件
    • 条件为true执行循环体
    • 重复步骤1-2
    • 条件为false退出

注意事项

  1. 注意循环条件的边界值
  2. 避免死循环
  3. 合理使用break和continue
  4. 注意循环变量的作用域
  5. 考虑循环的性能优化

    Javaのループは、for、while、do-whileの3つの主要な形式があり、プログラムの繰り返し処理を実現します。forは回数が決まっている場合に、whileは条件による制御に、do-whileは最低1回の実行が必要な場合に適しています。