温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:03
如果我们有这样的一段代码啊,有级联的if else语句,然后呢,说这个啊,Type等于一的时候呢,做什么?Type等于二的时候做什么,它等于三的时候呢,做什么这样的一种级联的一副语句呢?我们可以把它改造成另外一种语句,就是叫做Switch case Switch就是开关。根据Switch后面那个圆括号里面的这个变量的值,当然这个变量它必须是个整形的变量啊,整数的变量浮点不行,根据这个变量的值,然后呢,在Switch后面要有一对大括号,大括号里面我们放了很多的case,根据这个变量的值,我们来找哪个case后面的值和现在变量的值是一样的。找到了,我们就做那个case后面的语句。一直遇到break为止。所以这叫做Switch case,当然在Switch case里头呢,在所有的case里头,你还可以放个default default意思就是说如果找不到任何一个case都不匹配,OK,那我们做default里面的事情。
01:02
所以。基本的样子就这样子啊,那么这里面的这个控制表达式呢,它指的是整形的常量呢,可以是常数啊,也可以是一个表达式啊,当然这个表达式里头必须所有东西都是常量啊,然后呢,我们就根据表达式的结果去寻找匹配的case,找到这个做后面的语句,一直到遇到break为止。这句话挺关键的,我们一会儿回来看什么叫做做case后面的语句,一直到遇到break为止。如果一个kiss。做完了。遇到下一个可以怎么办呢?一会儿我们来看这个事情。那当然,如果说case,那我们就做default啊,那这个break呢,起到一个非常重要的作用,如果没有遇到break,它会一直执行下去的,我们来试试看,我们现在的这个程序里头啊,你看啊,呃,Switch这个type k后面没东西,K2后面呢有一句system叔出说你好,然后break kiss3后面呢,会有句叔叔说晚上好,可是呢。
02:02
没有break就到了K14,然后呢,会说再见,再有break。那如果是这样的话,就意味着如果type是等于三的话。他会做这句话对不对,因为三马K站在这儿,他会进来到这儿,到了这儿之后,因为没有break。所以他还会越过K4的边界继续去做。这句话最后再出,不相信,我们来试试看,在这儿设一个断点。Debug。现在我们要输入一个数,如果K是三,我们就来说三的事情。现在type是三啊,然后我们要走下一步,下一步到了K3这个地方,在这儿,这没有问题,很正常,我们让他说错了,晚上好,他就到了19这儿来了。到了第19行来了,在下一步输出了,再见之后。
03:01
到了第20行,现在我们遇到了一个break,而这个break会让我们跳出Switch case就出来了。啊,如果我们再来一遍,如果我们现在输入的数是一。现在在这儿,Type等于一。下一步。直接到这儿来了,因为K1后头没有东西嘛,他就进了K2的,去做K2的事情,然后。下一句break,当然他就跳出来了,如果没有break,他就会继续往下,一直到遇到一个break为止。如果我们再来试一个数。如果我们现在输入的是十。Type等于十,我们知道现在下面没有任何一个case和十是匹配的,对不对?于是我们再下一步,它就到了default这边啊,因为没有任何。可以匹配的case,那么他就在default这边,然后呢,说出了这句啊什么,然后呢,啊就结束了,所以在Switch case里面break很重要,一定要正确的去用好那个。
我来说两句