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 ? "成年" : "未成年");
// 输出:成年