1.选择语句
1.1 if…else语句
if语句用于根据一个布尔表达式的值选择一条语句来执行,其基本格式如下:
if (布尔表达式)
{
[语句块]
}
示例代码:
staticvoid Main(string[] args)
{
int i = 333; //声明一个int类型变量i
if (i > 998) //调用if语句判断i是否大于998
{
Console.WriteLine("i大于998"); //如果i大于998则输出“i大于998”
}
else //否则
{
Console.WriteLine("i不大于998"); //输出“i不大于998”
}
Console.ReadLine();
}
运行结果:
当然了,程序的条件判断式不止一个,可能需要一个嵌套式的if…else语句,也就是在if或else语句中的程序块中加入另一段if语句或者if…else语句。
1.2 switch语句
switch语句是多分支选择语句,它根据表达式的值来使程序从多个分支中选择一个用于执行的分支。基本格式为:
switch([表达式 ])
{
case[常量表达式]:[语句块]
break;
case[常量表达式]:[语句块]
break;
…
case[常量表达式]:[语句块]
default:[语句块]
break;
}
示例代码:
staticvoid Main(string[] args)
{
string MyStr = "用一生下载你";
switch (MyStr)
{
//如果MyStr值是“用一生下载你”,就执行分支1
case "用一生下载你":Console.WriteLine("用一生下载你"); break;
//如果MyStr值是“一生所爱”,就执行分支2
case "一生所爱": Console.WriteLine("一生所爱"); break;
//如果MyStr值是“值都不符合以上分支内容,则执行default语句
default : Console.WriteLine("无字符"); break;
}
Console.ReadLine();
}
运行结果:
2. 迭代语句
2.1 while语句
while语句用于根据条件值执行一条语句零次或多次,当每次while语句中德代码执行完毕时,将重新查看是否符合条件值,若符合则再次执行相同的代码,否则跳出while语句。
示例代码:
staticvoid Main(string[] args)
{
int s = 0, num = 80; //声明两个int类型变量并初始化
while (s < num) //调用while语句,当s小于num时执行
{
s++; //s自增1
if (s >40) //使用if语句判断s是否大于40
{
break ; //如果大于40,则使用break语句终止循环
}
if (s %2==0) //如果小于40,则调用if语句判断s是否为偶数
{
continue; //如果结果又符合条件,则转到下一次循环
}
Console.WriteLine (s );
}
Console.ReadLine ();
}
运行结果:
2.2 do…while语句
do…while语句和while语句类似,不同的是它的判断条件在循环后。do…while循环会在计算条件表达式之前执行。
示例代码:
staticvoid Main(string[] args)
{
bool term = false; //声明一个bool类型变量term,并初始化为false
int[] myArray = new int[5] { 0,1,2,3,4}; //声明一个int数组并初始化
do //调用do...while语句
{
for (int i = 0; i < myArray.Length; i++)//调用for语句输出数组中的所有数据
{
Console.WriteLine(myArray[i ]); //输出数组中的数据
}
} while (term); //设置do...while语句的条件
Console.ReadLine();
}
运行结果:
2.3 for语句
for语句用于计算一个初始化序列,然后当某个条件为真时,重复执行嵌套语句并计算一个迭代表达式序列。如果为假,则终止循环,退出for循环。
示例代码:
static void Main(string[] args)
{
int[] myint = new int[5]; //声明一个具有5个元素的整型数组
myint[0] = 0; //向数组中添加第一个元素
myint[1] = 1; //向数组中添加第二个元素
myint[2] = 2; //向数组中添加第三个元素
myint[3] = 3; //向数组中添加第四个元素
myint[4] = 4; //向数组中添加第五个元素
for (int i = 0; i < myint.Length; i++) //调用for循环语句
{
Console.WriteLine("myint[{0}]的值是:{1}",i ,myint [i]); //输出结果
}
Console.ReadLine();
}
运行结果:
2.4 foreach语句
foreach语句用于枚举一个集合的元素,并对该集合中的每个元素执行一次嵌入语句。
示例代码:
staticvoid Main(string[] args)
{
ArrayList alt = new ArrayList(); //实例化ArrayList类
alt.Add("用一生下载你"); //使用Add方法向对象中添加数据
alt.Add("一生所爱");
alt.Add("活到老,学到老");
alt.Add("微笑");
alt.Add("百合");
Console.WriteLine("您收藏的网名有:"); //输出提示
foreach (string InternetName in alt) //使用foreach语句输出数据
{
Console.WriteLine(InternetName ); //输出ArrayList对象中的所有数据
}
Console.ReadLine();
}
运行结果:
3. 跳转语句
3.1 break语句
break语句只能应用在switch、while、do…while、for或foreach语句中,break语句包含在这几种语句中,否则会出现编译错误。当多条switch、while、do…while、for或foreach语句互相嵌套时,break语句只能应用与最里层的语句。如果要穿越多个嵌套层,必须使用goto语句。
示例代码上面有涉及,在这里就不列举了。
3.2 continue语句
continue语句只能应用于while、do…while、for或foreach语句中,用来忽略环语句块内位于它后面的代码而直接开始一次新的循环。
示例代码也如上。
3.3 goto语句
goto语句用于将控制转移到由标签标记的语句。Goto语句可以被应用在switch语句中的case标签和default标签,以及标记语句所声明的标签。
示例代码:
staticvoid Main(string[] args)
{
Console.WriteLine("请输入要查找的文字:");
string inputstr =Console.ReadLine();
string[] mystr = new string[5];
mystr[0]= "用一生下载你";
mystr[1] = "韵夜相逢";
mystr[2] = "一生所爱";
mystr[3] = "清涧";
mystr[4] = "风华绝代";
for (int i = 0; i <mystr.Length; i++)
{
if (mystr[i].Equals(inputstr))
{
goto Found;
}
}
Console.WriteLine("您查找的{0}不存在!",inputstr);
goto Finish;
Found:
Console.WriteLine ("您查找的{0}存在!",inputstr );
Finish:
Console.WriteLine ("查找完毕!");
Console .ReadLine ();
}
运行结果:
3.4 return语句
return语句用于退出类的方法,是控制返回方法的调用者。如果方法有返回类型,return语句必须返回这个类型的值;如果方法没有返回类型,应使用没有表达式的return语句。
示例代码:
static string MyStr(string str) //创建一个string类型方法
{
string OutStr; //声明一个字符串变量
OutStr = "您输入的数据是:" + str; //为字符串变量赋值
return OutStr; //使用return语句返回字符串变量
}
staticvoid Main(string[] args)
{
Console.WriteLine("请您输入内容:"); //输出提示信息
string inputstr =Console.ReadLine(); //获取输入的数据
Console.WriteLine(MyStr (inputstr )); //调用MyStr方法并显示结果
Console.ReadLine();
}
运行结果:
怎么样,对于C#中流程控制语句的使用,你学会了吗?