上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3.1 选择语句
当程序中需要进行2个或2个以上的选择时,可以根据条件判断来选择将要执行的一组语句,C#提供的选择语句有if/else语句和switch/case语句。
1.if-eIse语句
if-else结构的语法如下:
if(关系表达式) { 关系表达式结果为真时执行的语句块 } else { 关系表达式结果为假时执行的语句块 }
注意
● else部分是可选的,如果只在表达式为真时执行语句,表达式为假时不需要执行,就不需要else部分了。
● 关系表达式也可以用布尔型的变量或常量代替。
当有多个选择项时可以使用if-else if-else结构,语法如下,其中else if部分可以有多个:
if(关系表达式1) { 关系表达式1结果为真时执行的语句块 } else if(关系表达式2) { 关系表达式2结果为真时执行的语句块 } . . . else { }
关系表达式1和关系表达式2结果都为假时执行的语句块
来看下面的例子,判断一个数是否大于等于60,如果不是,则输出“成绩不合格”;如果是,还要判断是否等于100。如果等于100,输出“满分”,否则输出“成绩合格”,流程图如图2-1所示。
图2-1 示例流程图
相应的代码如下:
上例中包含了if和else的嵌套,要注意它们的对应关系,即哪个else是和哪个if对应的。
2.switch-case语句
在if语句中遇到多种判断时可以使用else if语句,但当要判断的条件越来越多时,书写起来就显得太麻烦了。为此,C#又定义了另一种条件语句:switch-case语句,语法如下:
switch(变量) { case值1: 语句 break; case值2: 语句 break; ... ... ... default: 语句 break; }
注意
● 每一个case块都必须有break语句或goto语句。
● case语句之间出现多条语句时可不必用大括号括起来。
请看下面的例子,如流程图2-2所示。
图2-2 示例流程图
将图2-2的流程用Switch-case语句表达出来代码如下: