C#循环嵌套超全精讲|双层for循环、九九乘法表、嵌套break/continue作用域

前置说明

前面学完:单层 for / while / do-while、break、continue、goto 本节进阶:循环嵌套(多层循环),是考试、作业、算法、上位机逻辑的核心难点。

核心一句话口诀:外层走一步,内层走完整一轮


一、循环嵌套基础规则(双层for)

1. 结构说明

双层循环固定分工:

  • 外层循环 i:控制「大轮次、行数、次数」

  • 内层循环 j:控制「每一轮的细节、列数、重复次数」

2. 标准完整案例

// 外层循环:执行3次
for (int i = 0; i < 3; i++)
{
    Console.WriteLine("-------- 外层循环一轮 --------");

    // 内层循环:每次外层循环,完整跑5次
    for (int j = 0; j < 5; j++)
    {
        Console.WriteLine($"外层i={i},内层j={j}");
    }
}

3. 执行核心规则(必背)

  1. 外层循环 执行1次,内层循环 完整跑完所有次数

  2. 总执行次数 = 外层次数 × 内层次数

  3. 本例总次数:3 × 5 = 15次内层代码

4. 输出规律

每一轮外层 → 先打印外层提示 → 内层连续打印5行数据 → 外层进入下一轮


二、嵌套经典必考:九九乘法表(左下三角)

1. 完整可运行代码

// i 代表【行数】一共9行
for (int i = 1; i <= 9; i++)
{
    // j 代表【列数】第i行,就有i列
    for (int j = 1; j <= i; j++)
    {
        // Write:不换行,横向拼接
        Console.Write($"{j}*{i}={j*i}\t");
    }
    // 一行全部输出完毕,整体换行
    Console.WriteLine();
}

2. 核心逻辑拆解(满分理解)

  • 外层 i:控制一共多少行(1~9行)

  • 内层 j:控制每行输出多少列

  • j <= i:关键条件!实现左下三角

    • 第1行:j<=1 → 1列

    • 第2行:j<=2 → 2列

    • ……

    • 第9行:j<=9 → 9列

  • Console.Write:不自动换行,横向排版

  • \t 制表符:自动对齐,表格整齐

  • Console.WriteLine():单行结束,整体换行

3. 输出效果预览

1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
……

三、重难点:嵌套循环中 break / continue 作用范围

1. 终极铁律(必考易错点🔴)

break、continue 只对「离它最近的那一层循环」生效,就近原则!

  • 写在内层循环里 → 只影响内层,外层完全不受影响

  • 无法直接跳出多层循环,多层跳出必须用 goto

2. 示范结构代码

for (int i = 0; i < 3; i++) // 外层
{
    for (int j = 0; j < 3; j++) // 内层
    {
        // break / continue 写在这里
        // 只能控制 j 内层循环
        if (i == 1)
        {
            // 此处关键字仅作用于内层
        }
        Console.WriteLine($"i={i},j={j}");
    }
}

3. continue 在内层的效果

触发 continue:

  • 跳过当前这一次内层循环剩余代码

  • 内层 j 继续自增、继续跑

  • 外层 i 完全不受影响

4. break 在内层的效果

触发 break:

  • 直接彻底终止内层整个循环

  • 内层 j 不再继续执行

  • 外层 i 正常 ++,继续下一轮外层循环


四、多层循环一次性跳出(goto 终极方案)

普通 break 只能跳出一层,想要直接跳出所有嵌套循环,只能用 goto

for (int i = 0; i < 5; i++)
{
    for (int j = 0; j < 5; j++)
    {
        if (j == 2)
        {
            goto endLoop; // 直接跳出所有循环
        }
    }
}
endLoop: // 跳转标记
Console.WriteLine("所有循环已结束");

五、循环嵌套 满分背诵总结

  1. 外层控制轮次/行,内层控制细节/列

  2. 执行规则:外层走一步,内层跑完一整圈

  3. 总次数 = 外层次数 × 内层次数

  4. 九九乘法表核心:j <= i 实现三角阶梯效果

  5. Write不换行、WriteLine换行、\t对齐

  6. break/continue就近生效,只管当前层

  7. 跳出多层循环唯一简便写法:goto 标记跳转

posted @ 2026-08-05 21:20  狂浪的狼  阅读(28)  评论(0)    收藏  举报