C# switch-case

一、作用

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

二、语法

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

{
       case 值1:要执行的代码;
       break;
       case 值2:要执行的代码;
       break;
       case 值3:要执行的代码;
       break;
       ..........
       default:要执行的代码;
       break;
}

执行过程:

  程序执行到switch处,首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则该switch-case结构,什么都不做。

三、实例

【练习1】李四的年终工作评定,如果定为A级,则工资涨500元,  如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元.设李四的原工资为5000,请用户输入李四的评级,然后显示李四来年的工资.

            bool b = true;
            double salary = 5000;
            Console.WriteLine("请输入李四的年终评定(A、B、C、D、E)");//A、B、C、
             D、E
            string level = Console.ReadLine();
 
            switch (level)
            {
                case "A":
                    salary += 500;
                    break;
                case "B":
                    salary += 200;
                    break;
                case "C": break;
                case "D":
                    salary -= 200;
                    break;
                case "E":
                    salary -= 500;
                    break;
                default:
                    Console.WriteLine("输入的有误,请重新输入");
                    b = false;
                    break;
            }
            if (b)
            {
                Console.WriteLine("李四明年的工作是{0}元", salary);
            }
 
            Console.ReadKey();

【练习2】让用户输入姓名,然后显示出这个人上辈子是什么职业。

 Console.WriteLine("请输入姓名,我们将显示出来这个人上辈子的职业");
  string name = Console.ReadLine();
  //老杨,老苏,老邹,老马,老虎,老牛
  switch (name)
  {
      case "老杨":
          Console.WriteLine("上辈子是抽大烟");
          break;
      case "老苏":
          Console.WriteLine("上辈子是贵妃");
          break;
      case "老邹":
          Console.WriteLine("上辈子是驸马爷");
          break;
      case "老马":
      case "老牛":
          Console.WriteLine("上辈子是农民");
          break;
 
      default:
          Console.WriteLine("不知道他上辈子是的职业");
          break;
  }
 
  Console.ReadKey();

  

posted @ 2019-11-09 12:37  笑笑未来  阅读(58031)  评论(0编辑  收藏  举报