接下来我们继续学习程序流程控制的语法!
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 }