第六单元 流程控制
C# 流程语句分为:顺序结构,选择结构,循环结构。1. 顺序结构
顺序结构指的是程序一步步向下执行。
int a =10;
int b =a;
a++;2. 选择结构
C# 提供以下类型的选择语句。
声明描述if声明一个if语句包含一个布尔表达式后跟一个或多个语句。if...else声明一个if语句可以跟着一个可选的else语句,当布尔表达式是假的,其执行。嵌套if语句您可以在另一个if or else if语句中使用一个if or else if语句。switch语句switch语句允许一个变量来针对值的列表平等进行测试。嵌套的switch语句您可以在另一个switch语句中使用一个switch语句。if ... else
if .. else 语法
if(bool 表达式)
{
...
}
else if(bool 表达式) // 可选的
{
...
}
else// 可选的
{
...
}例1:
int score =90;
if(score >= 60)
{
Console.WriteLine("及格");
}
else
{
Console.WriteLine("不及格");
}例2:
static void Main(string[] args)
{
int a = 90;
Console.WriteLine(GetGrade(a));
}
public static string GetGrade(int score)
{
if (score>=60)
{
return "及格";
}
else
{
return "不及格";
}
}
// 简写
public static string GetGrade(int score)
{
if (score>=60)
{
return "及格";
}
return "不及格";
}
例3:
static void Main(string[] args)
{
int a = 90;
Console.WriteLine(GetGrade(a));
}
public static string GetGrade(int score)
{
if (score<60)
{
return "不及格";
}
else if(score>=60 && score<=70)
{
return "一般";
}
else if (score > 70 && score <= 80)
{
return "良好";
}
else
{
return "优秀";
}
}
执行结果根据当天日期有所不同,我这里执行这天的结果为:
if (score<60)
return "不及格";C# 9.0 借助于模式匹配
Exp1 ? Exp2 : Exp3;以下实例判断学生的成绩,包含了 default 语句:
switch(expression){
case constant-expression:
statement(s);
break;
case constant-expression:
statement(s);
break;
/* 您可以有任意数量的 case 语句 */
default : /* 可选的 */
statement(s);
break;
}
当上面的代码被编译和执行时,它会产生下列结果:
static void Main(string[] args)
{
int day = 4;
switch (day) // 数字,字符串,枚举
{
case 1:// 只能写常量
Console.WriteLine("Monday");
break;
case 2:
Console.WriteLine("Tuesday");
break;
case 3:
Console.WriteLine("Wednesday");
break;
case 4:
Console.WriteLine("Thursday");
break;
case 5:
Console.WriteLine("Friday");
break;
case 6:
Console.WriteLine("Saturday");
break;
case 7:
Console.WriteLine("Sunday");
break;
default:
Console.WriteLine("Sunday");
break;
}
}if 与 switch 的区别
一:从“优缺点”分析 if…else 优点:使用灵活,代码空间小 ;
缺点:效率低,因为 if else 必须遍历所有的可能值;
switch…case 优点:代码结构清晰,效率高;
C# 9.0 以后,已经完全可以代替if else 结构了。
强化练习
[*]业务场景:消费者在图书商城购买图书,下单后需要在支付页面显示订单优惠后的价格。具体优惠规则如下:
规则编号规则名称描述1规则一所购图书总价在100元以下的没有优惠2规则二所购图书总价在100到200元的优惠20元3规则三所购图书总价在200到300元的优惠50元4规则四所购图书总价在300元以上的优惠100元现在需要根据上面的规则计算优惠后的价格。
// 表示购物金额int money = 666;// 所购图书总价在100元以下的没有优惠if (money < 100){ money = money;}else if (money >= 100 && money 200 && money
页:
[1]