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