1.for 循环完整语法格式

for(表达式1; 表达式2; 表达式3)
{
    循环体代码;
}
三个表达式含义(必须用分号;隔开,只能 2 个分号)


表达式 1:初始化变量,只执行1 次,一般用来定义循环变量,比如 int i=0;
表达式 2:循环条件,布尔值true/false,条件成立才执行循环体,和 while 小括号里的条件一模一样
表达式 3:迭代更新,循环变量自增 / 自减,比如i++、i--,用来改变条件,避免死循环
一句话记:初始化 → 判断条件 → 执行代码 → 更新变量

2.for 循环【固定执行顺序】(重中之重,考试必背)

for(int i=0; i<5; i++)
{
    Console.WriteLine(i);
}

执行步骤严格固定,永远不变
第 1 步:执行int i=0(初始化,只执行 1 次
第 2 步:判断i<5?
为 true → 执行大括号里的代码Console.WriteLine(i)
为 false → 直接结束整个 for 循环,后面代码不执行
第 3 步:执行i++(变量更新)
回到第 2 步,循环往复

上面例子完整执行过程
1.i=0 → 0<5 ✔ → 输出 0 → i 变成 1
2.i=1 → 1<5 ✔ → 输出 1 → i 变成 2
3.i=2 → 2<5 ✔ → 输出 2 → i 变成 3
4.i=3 → 3<5 ✔ → 输出 3 → i 变成 4
5.i=4 → 4<5 ✔ → 输出 4 → i 变成 5
6.i=5 → 5<5 ❌ → 循环结束

3.for、while、do‑while 终极细致对比(背会就通了)

循环类型 执行顺序 核心特点 适用场景
while 先判断条件 → 后执行 条件不成立,一次都不执行 循环次数不确定(用户输入、死循环)
do‑while 先执行一次 → 后判断条件 至少执行 1 次 必须先做一次操作(强制输入正数)
for 初始化→判断→执行→更新 结构紧凑,变量集中管理 循环次数固定(最常用)

一句话区分

  • 次数固定 → 优先用for
  • 次数不确定 → 用while
  • 必须先执行一次 → 用do‑while

4.补充小细节(易错点)
for 里的int i是局部变量,只能在 for 循环里用,外面访问不到;while 的变量定义在外面,全局可用。
三个表达式可以省略(但分号不能省),比如for(;;)就是死循环,等价while(true)。
迭代更新可以写i+=2(每次 + 2,直接输出偶数),不一定非要i++。

第一段:for 循环最基础讲解(核心中的核心)

//for:明确知道循环次数可以使用for循环

//int i = 0 初始化 可以从任何值进行开始循环

//i<10;循环条件,满足条件的 才会执行,不满足就跳出循环

//i++; 每次循环i递增1

//{} 循环体

你写的标准 for 循环:

for (int i = 0; i < 10; i++)
{
    //循环执行的顺序
    //先执行int i = 0;
    //再判断是否小于10 ;
    //再去执行{};
    //最后i++,再去判断,成立了再去执行{},最后再++
    Console.WriteLine(i);//0-9 
}

执行顺序(固定死顺序)

  1. int i=0; 只执行 1 次
  2. 判断 i<10
    • 成立 → 执行大括号
    • 不成立 → 循环结束
  3. 执行 Console.WriteLine (i)
  4. 执行 i++
  5. 回到第二步判断

第二段:修改初始值,改变循环开始位置

//修改初始值进行修改循环次数
for (int i = 5; i < 10; i++)
{
    Console.WriteLine(i);//5 6 7 8 9
}

第三段:修改条件,改变循环结束位置

// 修改循环条件行修改循环次数
for (int i = 0; i <5; i++)
{
    Console.WriteLine(i);//0 1 2 3 4
}

第四段:修改递增量,控制步长

//修改循环递增量行修改循环次数
for (int i = 0;i < 10; i+=2) //i += 2 → 每次加 2 输出偶数 结果:0 2 4 6 8
{
    Console.WriteLine(i); // 0 2 4 6 8
}

第五段:for 循环写死循环(了解即可)

//for (int i = 0; i < 10; i--)
//{
//    Console.WriteLine("死循环");
//}

第六段:for 循环遍历字符串(超级重要!面试 / 作业常考)

//循环一般使用在数组或者字符串遍历场景
string str = "比例可变项";
Console.WriteLine(str.Length);//5
Console.WriteLine(str[0]);//比
Console.WriteLine(str[1]);//例
Console.WriteLine(str[2]);
Console.WriteLine(str[3]);
Console.WriteLine(str[4]); // [最大顺序] = length-1 

第七段:用 for 循环遍历字符串每一个字符

//str.Length 字符串的长度
for (int i = 0; i < str.Length; i++)
{
    Console.WriteLine(str[i]+"-------");
}

第八段:超级重点 → 四叶玫瑰数(完整版讲解)

四叶玫瑰数:4 位数,每个数字的 4 次方相加 = 本身

// 输出1000-9999之间的所有四叶玫瑰数
// 1001 = 1^4 + 0^4 + 0^4 + 1^4 
for (int i = 1000; i < 10000; i++)
{
    // 取个位
    int ge = i % 10;

    //取十位
    int shi = i % 100 / 10;

    //取百位
    int bai = i % 1000 / 100;

    //取千位
    int qian = i / 1000;

    //判断 4 次方之和是否等于自己
    if (Math.Pow(ge,4) + Math.Pow(shi,4) + Math.Pow(bai,4) + Math.Pow(qian,4) == i)
    {
        Console.WriteLine("四叶玫瑰数"+i);
    }
}

拆数字方法(必考)
个位:i%10  十位:i%100/10  百位:i%1000/100  千位:i/1000

更多推荐