C#的语法----程序结构(2)

接下来我们继续学习程序流程控制的语法!

switch-case

用来处理多条件的定值的判断。

语法:

switch(变量或者表达式的值)

{

   case value1:要执行的代码1;

   break;

   case value2:要执行的代码2;

 

   break;

 

   case value3:要执行的代码3;

 

   break;

   ........

   default:要执行的代码4;

   break;

 

 

}

执行过程:程序执行到switch处,首先将括号或者表达式的值计算出来,然后拿着这个值一次和case处值进行匹配,一旦

          匹配成功,则执行case对应的代码,遇到break,则跳出当前循环。如果,每个case值都不匹配,则执行default

          后对应的代码。

下面举例说明(例子在上节):

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace 草稿
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             bool b = true;
14             double salary = 5000;
15             Console.WriteLine("请输入对李四的年终评定");
16             string level = Console.ReadLine();
17             switch (level)
18             {
19                 case "A":salary += 500;               
20                     break;
21                 case "B":
22                     salary += 200;
23                     break;
24                 case "C":
25                     break;
26                 case "D":
27                     salary -= 200;
28                     break;
29                 case "E":
30                     salary -= 500;
31                     break;
32                 default: Console.WriteLine("输入有误,程序退出");
33                     b = false;
34                     break;
35             }
36             if (b)
37             {
38                 Console.WriteLine("李四明年的工资是{0}", salary);
39             }           
40             Console.ReadKey();
41         }
42     }
43 }

 

下面我们来巩固一下我们的学习,完成下面几个练习:

(1)让用户输入姓名(老杨,老苏,老马,老蒋,老牛,老虎,老赵),显示上辈子职业

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace 草稿
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Console.WriteLine("请输入一个姓名");
14             string name = Console.ReadLine();
15             switch (name)
16             {
17                 case "老杨": Console.WriteLine("上辈子是抽大烟的");
18                     break;
19                 case "老苏":
20                     Console.WriteLine("上辈子是个老鸨子");
21                     break;
22                 case "老马":
23                     Console.WriteLine("上辈子是老苏手下的头牌");
24                     break;
25                 case "老蒋":
26                     Console.WriteLine("上辈子是拉皮条的");
27                     break;
28                 case "老牛":
29                     Console.WriteLine("上辈子是一坨翔");
30                     break;
31                 case "老虎":
32                     Console.WriteLine("上辈子是大病猫");
33                     break;
34                 case "老赵":
35                     Console.WriteLine("上辈子是广马万丈的菩萨");
36                     break;
37                 default: Console.WriteLine("不认识,估计是一坨翔");
38                     break;
39             }
40             Console.ReadKey();
41         }
42     }
43 }
posted @ 2019-12-22 15:37  大勇者  阅读(207)  评论(0编辑  收藏  举报