一、while 循环
重复做某件事情,先判断,然后再执行循环体
例子:2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人?
double student = 80000;
int year = 2006;
while (student <= 200000)
{
student *= 1.25;
year++;
}
Console.WriteLine(“{0}年时{1}”, year, student);
Console.ReadKey();
☺
二、do-while 循环
先执行一次循环体,再判断条件是否成立
例子1:要求用户输入用户名和密码,只要不是admin,888888就一直提示用户名或密码错误,请重新输入。
string name = "";
string pwd = "";
do
{
Console.WriteLine("请输入账号");
name = Console.ReadLine();
Console.WriteLIne("请输入密码");
pwd = Console.ReadLine();
}while (name != "admin" || pwd != "888888");
Console.WriteLIne("程序结束");
Console.ReadKey();
例子2:不断要求用户输入学生姓名,输入q结束。
string name = "";
do
{
Console.WriteLine("请输入姓名");
name = Console.ReadLine();
}while (name != "q");
Console.WriteLine("程序结束");
Console.ReadKey();
☺
三、for 循环
例子1:连续输出100次“我下次一定细心”(分别用 while 循环,和 for 循环)
1、while 循环
int i = 0;
while (i<100)
{
Console.WriteLIne("我下次一定细心");
i++;
}
Console.ReadKey();
2、for 循环
for(int i = 0; i<100; i++)
{
Console.WriteLIne("我下次一定细心");
}
Console.ReadKey();
☺
四、循环小结 & 程序调试
小结:
1、一般知道了循环的次数,会用for循环比较方便
2、不知道循环多少次,就用 while, 和 do-while,这时一定要先看看是先判断还是先执行
3、先判断就用while,先执行就用do-while
4、初始值不满足条件时,while循环一次都不执行,do-while 循环会执行一次
调试:
1、设置断点(在行号前点击空白处)
单步运行(F11 逐语句调试)
观察变量(鼠标放在变量名上观察)
F10 逐过程调试(很少用)
☺
五、综合实例
例子:求1-100间的所有偶数和
1、第一种方法:for 循环
int sum = 0;
for (int i = 0; i <= 100; i++)
{
if (i%2==0)
{
sum +=i;
}
}
Console.WriteLIne("总和为{0}", sum);
Console.ReadKey();
2、第二种方法
int sum = 0;
for (int i=0; i <=100; i+=2)
{
sum +=i;
}
Console.WriteLIne("总和为{0}", sum);
Console.ReadKey();
☺
六、水仙花数 & 乘法口诀表
1、水仙花数(每一位上的立方和加起来还等于这个数)
int bai = 0;
int shi = 0;
int ge = 0;
for (int i = 100; i<=999; i++)
{
bai = i / 100;
shi = i % 100 / 10;
ge = i % 100 % 10;
if (bai * bai * bai + shi * shi * shi +ge * ge *ge ==i)
{
Console.WriteLIne(i);
}
Console.ReadKey();
}
2、乘法口诀表
for (int j = 1; j <= 9; j++)
{
for (int i = 1; j <= 9; i++)//j的条件,改为9就是长方形,改为j就是梯形
{
Console.WriteLIne("{0}*{1}={2}\t", i, j i*j);
}
Console.WriteLIne();
]
Console.ReadKey();
☺
七、break用法
break用于循环中,来退出当前循环
int i = 0;
while (true)
{
if (i ==5)
{
Console.WriteLIne("小李果然很帅");
break;\\写上break之后,后面写的都没有用了,直接从break处跳出
Console.WriteLIne(“真的是这样的”)//因此这句相当于作废,Console处因此而划绿线
}
i++;
]
Console.WriteLIne("系统识别此话是真话");
Console.ReadKey();