C#语句可以是以分号为结尾的单行语句,也可以是被括入语句块的多行语句。这里说的语句块,既包含在括号{ }中的语句结构,一个语句块中可以嵌入其他语句块。
C#语句中包含很多类型,如前面所学习的声明语句、表达式语句,还有条件语句(分支语句)、跳转语句、循环语句(迭代语句)、异常处理语句等,C#中的流程语句主要分:分支语句、迭代语句、跳转语句三类。下面来学习分支语句。分支语句的功能是根据一个或者多个指定条件来执行不同的代码块,C#中的分支语句括if语句、switch语句和三元运算符。
1、if语句
if语句会对条件进行判断,当指定条件为布尔值true时将执行某一个代码块,为false时则执行另外一个代码块。if语句经常和else语句、else if语句配合使用。
语法:
if(条件判断表达式) //“条件判断表达式”结果为true时则执行下面要执行的语句,否则不执行该语句
{
//要执行的语句
}
代码示例:
// if语句单独使用 //老婆给当程序员的老公打电话:“买一斤包子带回来,如果看到卖西瓜的,买一个。” 当晚,程序员老公手捧一个包子进了家门, 老婆怒道:“你怎么就买了一个包子?!” 老公答曰:“因为看到了卖西瓜的。” bool mybool=false; string result="买一斤包子"; if(!mybool) //看见了卖西瓜的 { result="买一个包子"; } // if else 语句一起使用 int money = 5; if(money >= 100) { Console.WriteLine("吃大餐"); } else { Console.WriteLine("吃泡面"); } // if 与 else if 语句一起使用 int a =100; int b =50; if (a < b) { Console.WriteLine("a < b"); } else if (a == b) //else if 保证只执行其中一条语句; { Console.WriteLine("a == b"); } else //如果前面的if语句一条也没有执行,那就执行else语句;如果执行了其中一条if语句,那就不会执行else语句; { Console.WriteLine("a > b"); } Console.ReadKey();
if语句特别适合判断一些连续值,可与else或else if 配合使用。
2、switch语句
switch语句与if语句类似,它同样是根据测试值来有条件地执行代码。
语法:
switch(表达式)
{
case 常量表达式1:
执行语句;
break;
case 常量表达式2:
执行语句;
break;
case 常量表达式3:
执行语句;
break;
……(更多的case语句)
default:
执行语句;
break;
}
从上面的语法结构可以看出,switch语句可以包含任意数量的case语句,但任何两个case语句不能右相同的值,每个case语句之后又必须以break;语句作为结束(case语句中没有代码的情况除外)。
代码示例:
//分支语句之switch语句 //例:输入1显示星期一,以此类推 Console.Write("请输入1-7中的数字:"); int week = int.Parse(Console.ReadLine()); switch (week) //switch (表达式) { case 1: Console.WriteLine("星期一"); break; //case 常量表达式:条件语句;break结束; case 2: Console.WriteLine("星期二"); break; case 3: Console.WriteLine("星期三"); break; case 4: Console.WriteLine("星期四"); break; case 5: Console.WriteLine("星期五"); break; case 6: Console.WriteLine("星期六"); break; case 7: Console.WriteLine("星期日"); break; default: Console.WriteLine("您的输入有误!"); break; //default:条件语句;break结束; } //例:判断一年中每个月份的天数 //31天的有:1、3、5、7、8、10、12 //30天的有:4、6、9、11 //2月28或29天 Console.Write("请输入1-12月来判断每个月天数:"); int month = int.Parse(Console.ReadLine()); switch (month) { case 2: Console.WriteLine("2月份为28天,闰年为19天");break; case 4: case 6: case 9: case 11: Console.WriteLine("本月份为30天");break; default: Console.WriteLine("本月份为31天");break; } Console.ReadKey();
switch语句特别适合判断一些离散的值,在使用时候要注意每个case语句之后都必须有break语句,可配合default语句使用
(三)、三元运算符
三元运算符 (?:),三元运算符结构:条件判断表达式?(问号)成立时执行的语句:(冒号)不成立时执行的语句;(分号)
三元运算符适用的条件:只适用于判断具有两个结果的情况,三元运算符比较适用于简单的赋值语句,只适用于判断具有两个结果的情况,可读性较差;
代码示例:
//分支语句之三元运算符 //例:判断输入数值与10的关系,<10 提示小于10,<=10 提示或大于等于10; Console.WriteLine("请输入一个数值判断与10的关系,<10 提示小于10,<=10 提示或大于等于10:"); int num = int.Parse(Console.ReadLine()); Console.WriteLine(num <10?"您输入的数值小于10":"您输入的数值大于或等于10"); Console.ReadKey();
文章评论