c#-循环
前言
对于一些事件,我们判断一次并不能得出我们想要的结果,那么怎么办呢?由此我们引出了循环这一功能。那循环一共有几种,这个您了解吗?想要更了解的就往下看吧!
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();
这个例题中我们用到了While循环,先判断学生是否小于20万,如果小于的话执行循环体,如果不小于的话直接输出。
DO While-先执行一次循环体,然后再判断条件是否成立
我们再来做一个例题:要求用户输入用户名和密码,只要不是admin,88888就一直提示用户名或密码错误。
string name = "";
string pwd = "";
do
{
Console.WriteLine("请输入账号");
name = Console.ReadLine();
Console.WriteLine("请输入密码");
pwd = Console.ReadLine();
} while (name != "admin" || pwd != "88888");
Console.WriteLine("程序结束");
Console.ReadKey();
这道题中我们应该使用Do While循环,先输入用户名和密码,判断是否是要求输入的内容,如果不是,需要重新输入。所以,Do While的作用就是先执行循环体,再判断条件是否成立,成立的话直接输出,不成立重新执行。
小结
While和Do While循环有一个共同点,就是我们都不知道要循环的次数,那要是知道循环的次数了,应该用什么呢?没错就是接下来的for循环。
For
求1-100之间的偶数和。
int sum = 0;
for (int i = 0; i <= 100; i++)
{
if (i % 2==0)
{
sum += i;
}
}
Console.WriteLine("总和为{0}",sum);
Console.ReadKey();
这种题中,我们大概知道要循环的次数,所以我们使用for循环。
小扩充Forr
将一个字符串数组的元素的顺序进行反转。(“我”,“是”,“好人”)(“好人”,“是”,“我”)。
string[] text = { "我", "是", "好人" };
for (int i = text.Length - 1; i >= 0; i--)
{
Console.Write(text[i]+"\t");
}
Console.ReadKey();
没错,Forr的作用就是进行反转,与i++不同,而是i- -。
Break-用于循环中,退出当前循环
求:1-100之间的整数相加,得到累加值大于20的当前数(比如:1+2+3+4+5+6=21)结果6。
int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum += i;
if (sum > 20)
{
Console.WriteLine("{0}----------{1}", sum, i);
break;
}
}
Console.ReadKey();
如果和大于20的话,就输出当前的值,然后跳出循环,如果和不大于20,继续当前循环。
Continue-跳到循环条件位置
求:1-100(含)之间的除了能被7整除之外所有整数的和。
int i = 0;
int sum = 0;
while (i < 100)
{
i++;
if (i % 7 == 0)
{
continue;
}
sum += i;
}
Console.WriteLine("总和为{0}", sum);
Console.ReadKey();
该题中,如果是7的倍数,通过continue就会自动跳到循环的位置走i++的代码。
总结
这是循环的基本知识,要区分清楚什么情况下使用哪种循环,是否需要使用break和continue。
还没有评论,来说两句吧...