基本语法:
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,什么都不执行.
示例代码:
namespace _02.switch的使用
{
class Program
{
static void Main(string[] args)
{
//请输入李四的年终工作评级,如果是A级,则工资涨500元,如果定位B级,则工资涨200
//如果定级为C级,工资不变,如果定位D级,工作降低200元,如果定位E级工资降低500.
//设定李四的原工作为5000,请用户输入李四的评级,然后显示李四的来年工资.
int wage = 5000; //李四的原工资
Console.WriteLine("请输入李四的年终评级:");
string str = Console.ReadLine(); //接收输入的评级
switch (str)
{
case "A":
wage += 500;
break;
case "B":
wage += 200;
break;
case "C":
wage += 0;
break;
case "D":
wage -= 200;
break;
case "E":
wage -= 500;
break;
default:
Console.WriteLine("您的评级输入有误!只能输入\"A\"or\"B\"or\"C\"or\"D\"or\"E\"");
break;
}
Console.WriteLine("李四来年的工资为:{0}.",wage);
Console.ReadKey();
}
}
}
关于switch的小练习:
namespace _03.switch的练习
{
class Program
{
static void Main(string[] args)
{
//让用户输入姓名,然后显示出这个人上辈子是什么职业.
Console.WriteLine("请输入用户的姓名:");
string name = Console.ReadLine();
switch (name)
{
case "张鹤贺":
Console.WriteLine("上辈子是导演!");
break;
case "罗家强":
Console.WriteLine("上辈子是网络工程师!");
break;
case "邓磊":
Console.WriteLine("Android工程师!");
break;
case "添宇翔":
Console.WriteLine("java工程师!");
break;
case "李正明":
Console.WriteLine("ios工程师!");
break;
case "章永骏":
Console.WriteLine(".net工程师!");
break;
default:
Console.WriteLine("上辈子不知道是干什么的!");
break;
}
Console.ReadKey();
}
}
}
if-else if与switch的比较
1.相同点:
都可以实现多分支结构.
2.不同点:
if-else if:可以处理范围
switch: 一般只能用于等值比较
3.三者的区别:
if有条件的执行一条语句.
if-else有条件的执行一条或者另一条语句.
switch有条件的执行一组语句中的一条语句.