------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
条件结构就是根据不同条件进行判断,然后执行不同的操作。
●单分支选择语句 if
●双分支选择语句 if......else
●多分支选择语句 if......else if......
●多分支选择语句 switch()
1.简单if语句的基本语法:
if(条件语句)
语句1;
执行过程:首先判断条件的结果,如果条件为true,则执行语句1。如果条件为false,则跳过语句1,执行后面的语句。
if后面括号中的条件要能计算成一个bool类型的值。
在默认情况下if语句只能带一句话,既和if语句关的只有 语句1,如果想让if多带几句话,则可以使用{}将多条语句括起来组成语句块。如:
if(条件语句)
{
语句1;
语句2;
......
语句n;
}
执行过程:如果条件为false,那么将直接跳过if所带语句块中的所有语句。
简单if语句流程图如:
2、if语句可以配合关键字else使用,构成双分支选择语句。语法如下:
if(条件表达式)
{
语句块1;
}
else
{
语句块2;
}
执行过程:程序执行时首先检测条件表达式的值,如果条件表达式的值为true,那么执行语句块1,然后跳过语句块2;反之,如果条件表达式的值为false,直接跳过语句块1,执行else带的语句块2。
流程图如下:
如果有多个条件需要判断,那么可以通过添else if语句来完成,就是所谓的嵌套。
3、if......else if多分支选择语句实际上就是双分支选择语句的嵌套。
多分支选择语句语法如下:
if(条件表达式A)
{
语句块1;
}
else if(条件表达式B)
{
语句块2;
}
else if(条件表达式C)
{
语句块3;
}
…………
else
{
语句块n;
}
执行过程:程序执行时,首先判断If语句后面括号中的条件表达式A,若值为True,则执行语句块1语句,若值为False,就跳向下一个语句,判断Else If语句后面的条件表达式B,若为True,就执行语句块2语句,否则就继续向下,若到最后的Else语句之前还没有遇到语句为True的,就要执行Else语句后面大括号中的语句块n了。
多分支if选择语句流程图如:
4、Switch语句
Switch语句非常类似于If语句,因为它也是根据测试的值来有条件地执行代码。实际上,每一个由Switch语句组成的代码,都可以用If语句进行改写。
Switch语句的基本语法为:
switch(控制表达式)
{
case 测试值1:
当控制表达式的值等于测试值1时的执行代码;
break;
case 测试值2:
当控制表达式的值等于测试值2时的执行代码;
break;
case 测试值3:
当控制表达式的值等于测试值3时的执行代码;
break;
......
case 测试值n:
当控制表达式的值等于测试值n时的执行代码;
break;
default:
当控制表达式的值不等于以上任何测试值时的执行代码;
break;
}
执行过程:在switch语句的开始,首先计算控制表达式的值,如果该值符合某个case语句中定于的“测试值”就跳转到该case内的语句执行,当控制表达式的值没有任何匹配的“测试值”时,则执行default内的代码,执行完后退出switch语句,继续执行下面的代码。其中,测试值只能是某个整数类型或字符类型。并且各个测试值不能相同
必须为每个case语句添加一个break语句,break语句的作用是中断当前switch语句的运行,而执行该结构后面的语句。若没有break这个语句,程序则会发生意想不到的错误。
下例是一个简单的 switch分支语句实例程序:
//根据成绩分数判断其所属那个成绩等级
Console.WriteLine("请输入你的成绩(0~100):");
int score = Convert.ToInt32(Console.ReadLine());
if (score >= 90 && score <= 100)
n = 9;
else
n = score / 10;
switch (n)
{
case (9):
Console .WriteLine("优秀");
break ;
case (8):
Console .WriteLine("良好");
break ;
case(7) :
Console .WriteLine("中等");
break ;
case (6):
Console .WriteLine("及格");
break;
default:
Console.WriteLine("不及格");
break ;
}