C# 语言之条件语句
条件语句是用来判断给定的条件是否满足(表达式值是否为0),并根据判断的结果(真或假)决定执行的语句,选择结构就是用条件语句来实现的。条件语句可以给定一个判断条件,并在程序执行过程中判断该条件是否成立,根据判断结果执行不同的操作,从而改变代码的执行顺序,实现更多的功能。
下图是大多数条件语句执行的示例图:

C# 种的条件语句大致分为两种:if/else if/if else 、switch。
if / else if/ if else
if 我们可以理解为 如果。比如,如果变量 i 大于 0 ,我们就输出 i:
int i = -1;if (i > 0){Console.WriteLine(i);}// 没有输出
else if 属于 if 语句的分支,当 if 语句判断不成立,会继续执行 else if 的判断,else if 可以有无限多个,执行顺序从上到下依次执行:
int integral = 502;if (integral >= 1000){Console.WriteLine("钻石会员");}else if (integral >= 500){Console.WriteLine("黄金会员");}else if (integral >= 100){Console.WriteLine("白银会员");}else if (integral > 0){Console.WriteLine("普通会员");}// 输出黄金会员
else 可以理解为 否则,总是出现在if后面,不能单独存在,只有在if 或者 else if执行完毕并且判断不成立的情况下才会执行。比如,在上面的例子结尾追加上 :
else{Console.WriteLine("非会员");}// integral 小于等于 0 时,输出 非会员
if / else if 的 () 里面允许有多个 判断逻辑,比如,判断一个会员是不是黄金会员:
if (integral >= 500 && integral < 1000){Console.WriteLine("黄金会员");}// 如果积分大于等于500,并且小于1000
switch

switch 语句通过将参数,与每个 case 分支比对,如果符合,则执行 case 下的逻辑,如果不符合继续执行下面的case ,直到 执行完毕。下面是 switch 的使用示例:
switch(expression){case constant-expression :statement(s);break;case constant-expression :statement(s);break;default :statement(s);}
switch 语句的一些注意事项与说明:
switch 语句中的 expression 是一个常量表达式,必须是一个整型或枚举类型。
在一个 switch 中可以有任意数量的 case 语句。每个 case 后跟一个要比较的值和一个冒号。
case 的 constant-expression 必须与 switch 中的变量具有相同的数据类型,且必须是一个常量或字面量。
当被测试的变量等于 case 中的常量时,case 后跟的语句将被执行,直到遇到 break 语句为止。
当遇到 break 语句时,switch 终止,控制流将跳转到 switch 语句后的下一行。
不是每一个 case 都需要包含 break。如果 case 语句不包含 break,控制流将会 继续 后续的 case,直到遇到 break 为止。
int week = 6;switch (week){case 1:case 2:case 3:case 4:case 5:Console.WriteLine("工作日");break;default:Console.WriteLine("休息日");break;}// 输出:休息日
- 一个 switch 语句可以有一个可选的 default case,出现在 switch 的结尾。default case 可用于在上面所有 case 都不为真时执行一个任务。default case 中的 break 语句不是必需的。
三元运算符 ?:
?: 运算符是 if else 的一种简洁表达方式,语法:条件表达式?逻辑1:逻辑2
int age = 19;Console.WriteLine(age >= 18 ? "成年" : "未成年");// 输出:成年