---------------------- ASP.Net+Android+IO开发S 、 .Net培训、期待与您交流! ----------------------
分支语句主要包括:if语句和switch--case语句。
(一),if语句
If语句是最常用的条件分支语句,它是根据布尔表达式的值(true或false)选择要执行的语句序列,使用时注意else应与最近的if语句匹配。
常见形式有以下几种:
(1),单独使用if语句,不加else语句
语法:
if(布尔表达式)
{
表达式为真时要执行的语句序列;
}
执行过程:首先判断布尔表达式的结果,如果为true,则执行语大括号里的语句序列,如果为false,则跳过大括号,执行后面的语句。
例如:
static void Main(string[] args)
{
string name1 = "abc";
string name2 = "qwe";
//判断两个名字是否相等
if (name1 == name2)
{
//如果相等,就输出name1的名字
Console.WriteLine(name1);
}
Console.ReadKey();
}
(2),if语句和else语句配套使用的单条件测试
语法:
if(布尔表达式)
{
布尔表达式为真时要执行的语句序列;
}
else
{
布尔表达式为假时要执行的语句序列;
}
执行过程:如果布尔表达式为true,则程序执行if带的语句序列,并且跳过else带的语句序列;如果布尔表达式为false,则跳过if语句带的语句序列,执行else带的语句序列;
例如:
static void Main(string[] args)
{
string name1 = "abc";
string name2 = "qwe";
//判断两个名字是否相等
if (name1 == name2)
{
//如果相等,就输出name1的名字
Console.WriteLine(name1);
}
else
{
//如果不相等,就输出name1和name2的名字
Console.WriteLine(name1+name2);
}
Console.ReadKey();
}
(3),else块中嵌套if语句的多条件测试
语法:
if(布尔表达式1)
{
布尔表达式1为真的时候执行的语句序列;
}
else if(布尔表达式2)
{
布尔表达式2为真的时候执行的语句序列;
}
else
{
所有条件都为假时执行的语句序列;
}
执行过程:在is-else-if语句中,只有当上一个条件不成立时,才会进入下一个if语句并执行if语句后面的条件判断。一旦有一个if后面的条件为true,则执行此if所带的语句序列,语句序列执行完成后,程序就跳出if-else-if结构。如果所有的if条件都不成立,则如果最后又else,则执行else所带的语句序列,否则什么都不执行。
例如:
static void Main(string[] args)
{
int number1 = 12;
int number2 = 23;
//判断两个数的大小以及是否相等
if (number1 == number2)
{//如果相等
Console.WriteLine("两个数相等");
}
else if (number1 > number2)
{ //如果数1大于数2
Console.WriteLine("数1大于数2");
}
else
{//如果数1小于数2
Console.WriteLine("数1小于数2");
}
Console.ReadKey();
}
(二),switch-case语句
当某一个表达式有多个可选值需要进行处理时,使用if语句会降低程序的可读性,这种情况下可以使用switch语句。
语法:
switch(表达式)
{
case 值1:
语句序列1;
Break;
case 值2:
语句序列2;
Break;
default:
语句序列3;
Break;
}
执行过程:首先计算表达式,然后根据表达式的结果与case后面的值进行匹配,如果有匹配项,则执行匹配项后面的语句序列,直到break语句跳出switch-case,如果所有的case值都不匹配,那么有default的则执行default后面的语句序列,直到break结束,如果没有default,则跳出switch-case,什么都不执行。
If - else if 与switch-case的区别:
A:相同点:
都可以实现分支结构。
B: 不同点:
1,swich:一般只能用于等值比较。
2,if -else if:可以处理范围。
注意:switch后的表达式与case后面的值匹配时,与default的顺序无关,只有当case后面的值没有匹配项时,才会进入default。
例如:
static void Main(string[] args)
{
Console.WriteLine("请输入成绩:");
//接收用户输入的信息
string str = Console.ReadLine();
//转换为整型
int i = Int32.Parse(str.Trim());
if (i > 100 || i < 0)
{
Console.WriteLine("成绩不在0-100范围内");
}
else
{
//利用switch进行值匹配
switch (i / 10)
{
case 10:
Console.WriteLine("满分,很棒");
break;
case 9:
Console.WriteLine("优秀");
break;
case 8:
case 7:
Console.WriteLine("良好");
break;
case 6:
Console.WriteLine("及格");
break;
default:
Console.WriteLine("不及格");
break;
}
}
Console.ReadKey();
}
---------------------- ASP.Net+Android+IO开发S 、 .Net培训、期待与您交流! ----------------------