c#基础switct---case⽤于处理多条件的定值的判断
题⽬:李四的年终⼯作评定,如果定为A级,则⼯资涨500元,如果定为B级,则⼯资涨200元,如果定为C级,⼯资不变,如果定为D级⼯资降200元,如果定为E级⼯资降500元。
设李四原⼯资为5000,请⽤户输⼊李四的评级,然后显⽰李四来年的⼯资。
⽤If判断来做题如下代码:
if后⾯跟判断条件,或者说表达式,其结果必须是bool类型,即结果为“true” or “false”
1            Console.WriteLine("请输⼊李四的⼯作年终评定:");
2string level = Console.ReadLine();
3double salary = 5000;
4bool b = true;
5
6if (string.Compare(level,"A") == 0) //5中不同的string⽐较相等.
7            {
8                salary += 500;
9            }
10else if(level.CompareTo("B")==0)
11            {
12                salary += 200;
13            }
14else if(string.Equals(level,"C"))
15            {
16switch case判断字符串
17            }
18else if(level.Equals("D"))
19            {
20                salary -= 200;
21            }
22else if (level == "E") //
23            {
24                salary -= 500;
25            }
26else
27            {
28                Console.WriteLine("输⼊错误,退出程序");
29                b = false; //输⼊错误if判断将不执⾏来年⼯资的显⽰
30            }
31if (b)
32            {
33                Console.WriteLine("李四的来年⼯资经评级后为每⽉{0}元", salary);
34            }
35            Console.ReadKey();
switct ⾸先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后⾯所带的值进⾏匹配,⼀旦匹配成功,则执⾏该case所带的代码,执⾏完成后,遇到break。跳出switch-case结构。如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执⾏default中的语句,如果没有default,则退出switch-case结构。
上⾯的题⽬改 switch case结构。如下代码:
1            Console.WriteLine("请输⼊李四的⼯作年终评定:");
2string level = Console.ReadLine();
3double salary = 5000;//原⼯资
4bool b = true;
5switch (level)//⽤户输⼊的值,和下⾯的case匹配
6            {
7case"A":
8                    salary += 500;
9break; //每个case都要有dreak;语句
10case"B":
11                    salary += 200;
12break;
13case"C":
14break;
15case"D":
16                    salary -= 200;
17break;
18case"E":
19                    salary -= 500;
20break;
21default: //如果匹配全不成功则执⾏下⾯的代码
22                    Console.WriteLine("输⼊错误,退出程序");
23                    b = false;
24break;
25            }
26if (b) //当switch和case匹配不成功,则b = false 将不执⾏if中的语句
27            {
28                  Console.WriteLine("李四的来年⼯资经评级后为每⽉{0}元", salary);
29            }
30            Console.ReadKey();
case语句可以合并再看下⾯的代码:
1long i = 6L; //声明long整数类型
2switch (i) //i的类型必须是:bool char string 整型枚举
3            {
4case1:
5case2:
6case3:
7case4:
8case5:
9                    Console.WriteLine("今天星期{0},是⼯作⽇", i);
10break;
11case6:
12case7:
13                    Console.WriteLine("今天星期{0},是休息⽇", i);
14break;
15default:
16                    Console.WriteLine("输⼊错误,退出程序");
17break;
18            }
19            Console.ReadKey();

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。