最近学习了一些循环语句。
一、进行介绍:
1、if 结构
执行过程及语法如下:
if(表达式)
{
语句;
}
例子:
//让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到了结婚的年龄了。
Console.WriteLine("请输入年龄");
int age = Convert.ToInt32(Console.ReadLine());
if (age>=23)
{
Console.WriteLine("可以结婚了");
}
Console.ReadKey();
2、if-else 语句
执行过程及语法如下:
if(表达式)
{
语句1;
}
else
{
语句2;
}
例子:
//输入小明成绩,如果成绩>=90,"奖励100元",否则"惩罚你写总结"。
Console.WriteLine("请输入小明的成绩");
int chinese = Convert.ToInt32(Console.ReadLine());
if (chinese>=90)
{
Console.WriteLine("奖励100元");
}
else
{
Console.WriteLine("惩罚你写总结");
}
Console.ReadKey();
3.if-else if 语句
执行过程及语法如下:
if(表达式1)
{
语句1;
}
else if(表达式2)
{
语句2;
}
else
{
语句3;
}
例子:
//成绩评测:成绩>=90:"A";90>成绩>=80:"B";80>成绩>=70:"C";70>成绩>=60:"D";成绩<60:"E"。
string str="";
Console.WriteLine("请输入成绩");
int score = Convert.ToInt32(Console.ReadLine());
if (score>=90)
{
str="A";
}
else if(score>=80)
{
str="B";
}
else if(score>=70)
{
str="C";
}
else if(score>=60)
{
str="D";
}
else
{
str="E";
}
Console.WriteLine(str);
Console.ReadKey();
4、switch-case 语句
用来处理多条件的定值判断。语法如下:
switch(变量或者表达式的值)
{
case 值1:要执行的代码;
break;
case 值2:要执行的代码;
break;
case 值3:要执行的代码;
break;
..........
default:要执行的代码;
break;
}
执行过程:程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构什么都不做。
例子:
//对李四进行年终评定:"A",+500;"B",+200;"C",不变;"D",-200;"E",-500。
bool b = true;
double salary = 5000;
Console.WriteLine("请输入对李四的年终评定");
string level=Console.ReadLine ();
switch (level)
{
case"A":salary +=500;
break;
case"B":salary +=200;
break;
case"C":break;
case"D":salary -=200;
break;
case"E":salary -=500;
break;
default:Console.WriteLine("输入有误,程序退出");
b=false;
break;
}
if (b)
{
Console.WriteLine("李四明年的工资是{0}元",salary);
}
Console.ReadKey();
5、while 循环
语法如下:
while(循环条件)
{
循环体;
}
执行过程:程序运行到while处,首先判断while所带的小括号内的循环条件是否成立,如果成立的话,也就是返回一个true,则执行循环体,执行完一遍循环体后,再次回到循环条件进行判断,如果依然成立,则继续执行循环体,如果不成立,则跳出while循环。
在while循环当中,一般总会有那么一行代码,能够改变循环条件,使之终有一天不再成立。如果没有那么一行代码能够改变循环条件,也就是循环条件永远都成立,我们称之这种循环叫做死循环。
特点:先判断,再执行,有可能一遍循环都不执行。
最简单的最常用的死循环:
while(true)
{
}
例子:
//求1~100之间所有整数的和
int i = 1;
int sum = 0;
while (i <= 100)
{
sum += i;
i++;
}
Console.WriteLine(sum);
Console.ReadKey();
6、do-while 循环
语法如下:
do
{
循环体;
}while(循环条件);
执行过程:程序首先会执行do中的循环体,执行完成后,去判断do-while循环的循环条件,如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。
特点:先循环,再判断,最少执行一遍循环体。
例子:
//不断要求用户输入学生姓名,输入q结束
string name = "";
do
{
Console.WriteLine("请输入学生姓名,输入q结束");
name = Console.ReadLine();
}while(name!="q");
Console.ReadKey();
7、For循环
语法如下:
for(表达式1;表达式2;表达式3)
{
循环体;
}
例子:
//显示100遍“哈哈,我又变帅了”
for(int i = 0;i<100;i++)
{
Console.WriteLine("哈哈,我又变帅了");
}
Console.ReadKey();
8.Continue循环
执行过程及语法如下:
语法如下:
while(...)
{
......
......
......
continue;
}
执行过程:遇到continue,立即结束本次循环,判断循环条件,如果成立,则进入下一次循环,否则退出循环。
例子:
//计算1到100(含)之间的除了能被7整除之外所有整数的和
int i = 1;
int sum = 0;
while (i<=100)
{
if (i%7==0)
{
i++;
continue;
}
sum += i;
i++;
}
Console.WriteLine("总和为{0}",sum);
Console.ReadKey();
二、进行比较:
1、if-else if与switch的比较:
相同点:都可以实现多分支结构。
不同点:if-else if :可以处理范围;
switch :一般只能用于等值比较。
2、if、if-else与switch三者的区别:
if 有条件的执行一条语句;
if-else 有条件的执行一条或另一条语句;
switch 有条件的执行一组语句中的一条语句。
3、while与do-while区别:
语法不同;
初始值不满足循环条件时,while循环一次都不执行,do-while循环会执行一次。
4、for、while、do-while循环比较:
一般知道了循环的次数,用for比较方便;
不知道循环次数,用while或者do-while,这时候一定要看看是先判断还是先执行。如果先执行,用do-while;如果先判断,用while。