C#语言入门:[15]多分支选择switch语句
1、switch的使用格式是这样的
switch(值)
{
case 值1:做1事;
break;
case 值2:做2事;
break;
case 值3:做3事;
break;
case 值4:做4事;
break;
case 值5:做5事;
break;
............
}
其中有三个关键字,switch,case,break.
2、这个语句我们必须要用例子来说明
int i=1;
switch(i)
{
case 1: Console.Write(1);
break;
case 2: Console.Write(2);
break;
case 3: Console.Write(3);
break;
}
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/bd72f23834bb19ef534d65a0497bd28287893aab.jpg)
3、我们把i值换成2和3
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/35f2224133bad341fc6f8883427622bc7cc52cab.jpg)
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/f591ab03c8d246fe4a5dab37b8bf3bef344f1eab.jpg)
4、看得出来,当i的值(也就是switch后在括号的值)取什么的时候,就执行哪条case的面的语句,这就是选择分支语句,当i的值是1时,执行 case 1:后面的语句;当i的值是2时,执行 case 2:后面的语句;当i的值是3时,执行 case 3:后面的语句
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/a99a494afa32939c34e4b6065719ce2c5a1b15ab.jpg)
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/f59dbe39131fceecf1ca00c179c4ec9958430bab.jpg)
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/1f03436b04d14929b79b50a763e5eceeacbc7eab.jpg)
5、好了,到这一步,我们换回我们一开始说的那个例子,就是语言选择的,这里我们要告诉大家的是, switch的选择语句,不仅可以使用整型,像上面的 1,2,3,4,5,也可以使用字符,像
"中文","英文","日文"......,或其它任意类型的值,这里的语言选择用的是字符串值
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/edafb3bcbe2f4770720bb66e6f3b3b86032179ab.jpg)
6、现在我们换成"德语",输出结果正好是case "德语":后面的结果.
我强调一下,这个就是switch的语法格式,可以说是固定的,你理解它,那就当是理解了,理解不了,就死记硬背,其实也没有什么好理解的,因为格式本身就是C#语言的发明人规定的,一定要记住它就对了
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/03605157935653bbc4330d4f1d0b3121046171ab.jpg)
7、下面我们来分析语法结构,就是谈谈语句后面的break;
break有什么用呢,上一章我们讲过,break是用来中止循环的,这里的break其实差不多,也是用来中止的,不过不是循环,是中止语句,中止switch的语句,也就是执行了break之后,后面的所有代码将被放弃,不再执行
8、我们举例来说明,我们先删掉
case "中文": Console.Write("你选择了中文");
case "英语": Console.Write("你选择了英语");
这两句中间的break;
有没有发现,程序报错了
两个case语句间,一定要用break隔开的,如果非要删掉break,只能这样
case "中文":
case "英语": Console.Write("你选择了英语");
把 Console.Write("你选择了中文");一并删掉,这样一来,程序的意思就变成,无论是选择中文或选择英文,你都执和 Console.Write("你选择了英语");
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/05e24be983aee8d71c398a5b6b781431deb666ab.jpg)
9、我们来看程序运行结果
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/1570c1b6326c5766d5dc6be7a4632385e13661ab.jpg)
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/32a127723d03bbea699559fcea43d7d4493154ab.jpg)
10、 case "中文":
case "英语": Console.Write("你选择了英语");
case的这种用法,其实是为了方便大家对多种不同的条件进行同一种相同处理的方式
比如美式英语和英式英语,大家都是英语,但是针对这两种情况返回相同结果,就用到这一功能
string i="英式英语";
switch(i)
{
case "美式英语":
case "英式英语": Console.Write("你选择了英语");
break;
case "日语": Console.Write("你选择了日语");
break;
case "法语": Console.Write("你选择了法语");
break;
case "德语": Console.Write("你选择了德语");
break;
case "俄语": Console.Write("你选择了俄语");
break;
}
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/f7e6410f822b74ee7d2122acda2c8cf1d9a74aab.jpg)
![C#语言入门:[15]多分支选择switch语句](https://exp-picture.cdn.bcebos.com/4a6d48ee7b7f860e11668c4077f5ee0d3bcebeab.jpg)
11、好了,就讲这么多了,大家自行练习吧,比如把类型换成浮点的练习,把类型换成字符的练习,多练自然就能理解透了