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();
}