Java 循环结构

计算机最擅长的就是"重复劳动",循环让同一段代码反复执行。Java 提供 for、while、do-while 三种循环,配合 break、continue,可以精确控制重复的次数与时机。

for 循环

由初始化、循环条件、步进三部分组成,适合"次数已知"的场景。完整示例:

public class ForDemo {
    public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {   // 初始化; 条件; 步进
            sum += i;
        }
        System.out.println("1 加到 100 = " + sum);   // 输出:1 加到 100 = 5050
    }
}

while 循环

先判断条件,为 true 才执行循环体;条件一开始就不成立时,一次也不执行。

// 片段需放进 main 方法中运行
int i = 1;
while (i <= 3) {
    System.out.print(i + " ");   // 输出:1 2 3
    i++;
}

do-while 循环

先执行一次循环体再判断条件,因此至少执行一次。

// 片段需放进 main 方法中运行
int n = 10;
do {
    System.out.println(n);   // 输出:10(条件 n < 3 不成立,也已执行一次)
    n++;
} while (n < 3);

增强 for

不需要下标的遍历写法,常用于数组与集合。

// 片段需放进 main 方法中运行
int[] nums = {1, 3, 5, 7};
for (int x : nums) {
    System.out.print(x + " ");   // 输出:1 3 5 7
}

break 与 continue

break 立刻结束整个循环;continue 跳过本轮剩余代码,直接进入下一轮。

// 片段需放进 main 方法中运行
for (int i = 1; i <= 8; i++) {
    if (i % 3 == 0) continue;    // 跳过 3、6
    if (i == 8) break;           // 到 8 提前结束循环
    System.out.print(i + " ");   // 输出:1 2 4 5 7
}

带标签的 break 与死循环

给循环起个"标签"名,break 标签可一次跳出多层循环;while (true) 是常见死循环写法,通常配合 break 退出。

// 片段需放进 main 方法中运行
outer:
for (int i = 1; i <= 2; i++) {
    for (int j = 1; j <= 2; j++) {
        if (i == 2) break outer;   // 直接跳出外层循环
        System.out.println(i + "x" + j);
    }
}
// 输出:1x1、1x2

循环嵌套:九九乘法表

外层循环控制行、内层循环控制列,是嵌套最经典的练习。

// 片段需放进 main 方法中运行
for (int i = 1; i <= 3; i++) {           // 外层:行,可改为 9 得完整表
    for (int j = 1; j <= i; j++) {       // 内层:列
        System.out.print(j + "x" + i + "=" + (i * j) + " ");
    }
    System.out.println();
}
// 输出:1x1=1,1x2=2 2x2=4,1x3=3 2x3=6 3x3=9

小结:次数已知用 for,条件驱动用 while,至少执行一次用 do-while;配合增强 for 遍历数据、break/continue 控制流程,再结合嵌套,就能应对几乎所有的重复性任务。

笔记加载中…