switch-case语法:
switch(表达式/变量)
{
case 值1: 语句块1;
break;
case 值2: 语句块2;
break;
default:语句块3;
break;
}
执行过程:首先计算表达式,然后根据计算结果与匹配case后面的值,如果有匹配项,则执行匹配项后面的语句,
直到break语句跳出switch-case.如果所有的case值都不匹配,那么有default则执行default后面的语句,直到break结束.如果没有default,则跳出switch-case,什么都不执行。
if-else if与switch的比较
相同点:都可以实现多分支结构
不同点:
–if-else if:可以处理范围
–switch:一般 只能用于等值比较
三者的区别:
if有条件的执行一条语句
if-else有条件的执行一条或另一条语句
switch有条件的执行一组语句中的一条语句
对学员的结业考试成绩评测(改成用Switch来做)
成绩>=90 :A
90>成绩>=80 :B
80>成绩>=70 :C
70>成绩>=60 :D
成绩<60 :EConsole.WriteLine("请输入学员结业考试测评成绩"); string score = Console.ReadLine(); int score1 = Convert.ToInt32(score); switch (score1 / 10) { case 0: case 1: case 2: case 3: case 4: case 5: Console.WriteLine("学员结业考试测评成绩为E"); break; case 6: Console.WriteLine("学员结业考试测评成绩为D"); break; case 7: Console.WriteLine("学员结业考试测评成绩为C"); break; case 8: Console.WriteLine("学员结业考试测评成绩为B"); break; case 9: Console.WriteLine("学员结业考试测评成绩为A"); break; } Console.ReadKey();
请用户输年份,再输入月份,输出该月的天数.(结合之前如何判断闰年来做)
while (true) { Console.WriteLine("请输入年份"); int year = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入月份"); int month = Convert.ToInt32(Console.ReadLine()); int day; bool resoult = year % 400 == 0 || year % 4 == 0 && year % 100 != 0; if (month <= 12 && month >= 1) { if (month == 2) { if (resoult) { day = 29; } else { day = 28; } } else { switch (month) { case 4: case 6: case 9: case 11: day = 30; break; default: day = 31; break; } } Console.WriteLine("这个月有{0}天", day); } else { Console.WriteLine("不存在这个月份"); } Console.ReadKey(); }