循环四要素:初始条件 判断条件 循环语句 迭代变量
for
循环
语法:
for 循环语法格式 :for ( 声明一个循环控制变量 ; 循环执行的条件 ; 循环控制变量修改 ){循环体 ( 需要重复执行的代码块 )}
执行顺序:
①先执行初始条件
int i = 0;
(初始条件只执行一次)
②再执行判断条件
i < 5;
成立:执行③
不成立:⑤
③执行
{
循环语句
}
④执行迭代变量
i++
,然后执行②
⑤退出
for
循环
注意点:
①初始条件可以写到
for
上边,但是第一个
;
不能省略
②迭代变量可以写到循环语句的后面,但第二个
;
不能省略
③
for
执行完,变量
i
的值为判断条件的值
注意死循环
一定要保证循环有终止条件
(
没有终止条件的循环
,
称之为死循环
)
- for(int i=0;i<5;i--){} 迭代变量使用不当造成死循环
- for(int i=0;i<5;){} 没有迭代变量造成死循环
- for(int i=0;i==i;i++){} 判断条件使用不当,造成死循环
单层
for
循环
using System ;using System . Collections . Generic ;using System . Linq ;using System . Text ;using System . Threading . Tasks ;namespace _01_for 循环{internal class Program{static void Main ( string [] args ){// 循环结构 : 重复执行某段代码若干次//for 循环结构//Console.WriteLine(" 内容 ");//Console.WriteLine(" 内容 ");//Console.WriteLine(" 内容 ");//Console.WriteLine(" 内容 ");//Console.WriteLine(" 内容 ");// 以上需求 : 可以使用 for 循环for ( int i = 0 ; i < 5 ; i ++ ){Console . WriteLine ( " 内容 " );}/**① 先执行初始条件 int i = 0; (初始条件只执行一次)② 再执行判断条件 i < 5; 成立:执行 ③ 不成立: ⑤③ 执行 { 循环语句 }④ 执行迭代变量 i++ ,然后执行 ②⑤ 退出 for 循环*/// 练习 ://1. 打印 1-100 之间所有的数字for ( int i = 1 ; i < 101 ; i ++ ) {Console . WriteLine ( i );}for ( int i = 1 ; i <= 100 ; i ++ ){Console . WriteLine ( i );}for ( int i = 0 ; i < 100 ; i ++ ){Console . WriteLine ( i + 1 );}//2. 打印 1-100 之间所有的偶数for ( int i = 1 ; i < 101 ; i ++ ){if ( i % 2 == 0 ){Console . WriteLine ( " 偶数 " );}}//3. 打印 1-100 之间所有的奇数for ( int i = 1 ; i < 101 ; i ++ ){if ( i % 2 != 0 ){Console . WriteLine ( " 偶数 " );}}}}}}
双层
for
循环
using System ;using System . Collections . Generic ;using System . Linq ;using System . Text ;using System . Threading . Tasks ;namespace _02_ 双重 for 循环{internal class Program{static void Main ( string [] args ){// 把内层的循环看做是外层循环的循环体// 外层循环执行一次 , 内层循环执行全部for ( int i = 0 ; i < 3 ; i ++ ){Console . WriteLine ( " 内层循环开始 " );for ( int j = 0 ; j < 6 ; j ++ ){Console . WriteLine ( " 烦得很四阿帆 hi 多少分发 hi 阿杜是覅 U 盾说法的 his 啊发货地是多少 " );}Console . WriteLine ( " 内层循环结束 " );}}}}
while循环
语法:
while 循环格式 :while ( 布尔值或者布尔表达式 ){布尔值或者布尔表达式成立时执行的代码块 ( 循环体 )}
//while 循环初始化语句在 while 外面int a = 0 ;while ( a < 10 ) // a<10 判断语句 , 也就是 while 循环执行的条件 , 条件不满足则停止循环{a ++ ;Console . WriteLine ( " 打印 " );}
do-while
//while 循环初始化语句在 while 外面int a = 10 ;//while ( a < 10)// a<10 判断语句 , 也就是 while 循环执行的条件 , 条件不满足则停止循环//{// a++;// Console.WriteLine(" 打印 ");//}do{a ++ ;Console . WriteLine ( " 打印 " );} while ( a < 10 );
while
和
do-while
的区别
· while
执行流程
:
1. 判断循环执行的条件
,
若值为
true,
则执行循环体
,
改变初始变量
(
迭代变量
)
2. 重复执行第一步
,
直到循环条件的值为
false,
停止循环
· do-while
执行流程
:
1. 首先执行循环体
,
改变迭代变量
2. 判断循环条件
,
若值为
true,
则执行循环体
,
改变初始变量
(
迭代变量
),
3. 依次重复
,
直到循环条件为
fasle,
停止循环
do-while
最少执行一次
,while
条件不成立的话
,
一次都不会执行
使用场景
:
三个循环的使用场景
:
- for:最常用的循环,用于循环的次数明确且固定
- while:循环的次数不固定,但是有明确的目标
- dowhile循环:和while相似,至少执行一次
循环退出
continue,break,return
continue:跳过本次循环,继续下次循环(作用:终止本次循环)
for ( int i = 0 ; i < 10 ; i ++ ) {for ( int j = 0 ; j < 10 ; j ++ ){if ( j == 2 || j == 4 ){continue ; // 跳出本次循环 , 继续下一次循环}Console . WriteLine ( j );}}
break:终止当前循环(作用:跳出循环(一层))
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++)
{
if (j==2)
{
break;// 终止当前循环(作用:跳出当前这一层循环)
}
Console.WriteLine(j);
}
}
return:跳出整个方法
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++)
{
if (j==2)
{
return;//跳出整个方法
}
Console.WriteLine(j);
}
}
总结
// 总结 : 为什么要使用终止循环的关键字 ?// 是为了达到性能优化的目的// 比如 : 我们要找到某些数字中第一个满足条件的值 , 就可以在找到第一个的时候结束循环// 找到 925-1226 中第一个能被 3 和 5 整数的值for ( int i = 925 ; i <= 1226 ; i ++ ){if ( i % 3 == 0 && i % 5 == 0 ){Console . WriteLine ( i );break ;}}