C#for循环
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
}
执行顺序(固定死顺序)
- int i=0; 只执行 1 次
- 判断 i<10
- 成立 → 执行大括号
- 不成立 → 循环结束
- 执行 Console.WriteLine (i)
- 执行 i++
- 回到第二步判断
第二段:修改初始值,改变循环开始位置
//修改初始值进行修改循环次数
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
更多推荐



所有评论(0)