switch case

flag标签的用法

Console.WriteLine("请输入李四的评定,只能输入\"A-E\"");

string assess = Console.ReadLine();
decimal salary = 5000m;
bool flag = false;
if (assess=="A")
{
salary += 500;

}
if (assess=="B")
{
salary += 200;

}
if (assess=="C")
{


}
if (assess=="D")
{
salary-=200;

}
if (assess == "E")
{
salary -= 500;

}
else
{
Console.WriteLine("你输入有误");
flag = true;

}
if (flag == false)
{
Console.WriteLine("李四的来年工资={0}", salary);
}

Console.ReadKey();


 

 

switch case语法:

switch (表达式)

{

case值1:语句块1:

break;

case值2:语句块2:

break;

default:语句块3; //匹配时和位置没有关系只和值有关系

break;

}

 

 

执行过程:

首先计算表达式,然后根据计算结果与匹配case后面的值,如果有匹配项,则执行匹配项后面的语句,直到break语句跳出Swith case,如果所有的case值都不匹配,那么有default后面的语句,直到break结束.如果没有default,则跳出swith case.什么都不执行.

 if else if  和swith case 的比较:

相同点:  都可以实现多分支结构

不同点:

if else if  可以处理范围

swith case  只能用于等值比较


Console.WriteLine("请输入一个年份");
int years = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入一个月份");
int month = Convert.ToInt32(Console.ReadLine());
switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
Console.WriteLine("31天");
break;
case 2:
if (years % 400 == 0 ||(years%4==0&&years%100!=0))
{
//是闰年
Console.WriteLine("29天");
}
else
{

Console.WriteLine("28天");
}
break;
default :

Console.WriteLine("30天");
break;

 

 


}

Console.ReadKey();


Console.WriteLine("请输入一个成绩");
int score = Convert.ToInt32(Console.ReadLine());
switch (score / 10)
{
case 9:
Console.WriteLine("A");
break;
case 8:
Console.WriteLine("B");
break;
case 7:
Console.WriteLine("C");
break;
case 6:
Console.WriteLine("D");
break;
default :
Console.WriteLine("E");
break;

 


}


Console.ReadKey();

 

posted @ 2016-04-07 17:53  思维乐趣  阅读(448)  评论(0编辑  收藏  举报