00:00
下面呢,我们开始讲第二个分支结构,叫做Switch case,诶前面呢我们已经讲了if了,这些细节呢,咱们都已经讲过了,来看一下第二个结构呢该怎么用,哎,首先呢,我们关注一下Switch case这个结构啊,结构呢就长这个样子,诶这个结构呢,肯定是需要大家掌握的哎,否则的话呢,你也写不了这个Switch case了,哎整体来先看一眼啊,这个Switch case的话呢,先是有一个Switch这个单词,哎,然后接接着后边呢,也是有一个小括号,里边呢写的叫表达式,注意这个时候的表达式呢,不是条件表达式了啊,就是一个表达式,一会我们展开细列来说,然后呢,一段大括号呢,括起来,从头到尾在这里边呢,我们去写不同的case,哎,这呢就体现了这个分支的概念,哎最后呢,还会有一个default。哎,这个default呢,大家就可以把它呢,你先理解为就像我们if里的对最后的else一样啊,就相当于前面呢,如果要是都没有匹配到,哎,你就匹配最后一个default就可以了,哎,那么从这个里边来看的话呢,就体现了叫这个多个分支,然后我们进行了一个选择,这呢是我放了一个图,呃,这个表达式进来以后呢,呃,其实这块呢,去匹配看看到底跟哪个这个case当中这个常量呢是相等的,哎,然后呢,就进入下面这个语块,语句块呢进行执行就可以了。好,那具体咱们展开来写这个代码,来体会它如何去使用,新建一个Java文件Switch,哎,Case,嗯,它的一个测试,诶这样啊,诶,CTRLCCTRLSCTRLV一下。
01:44
好,这呢是我们说这个分支结构之二,哎,叫Switch,这个呢,也是咱们JA碍中的一个关键字了啊张碍中凡生,关键字呢,都是小写,咱们已经说过了,哎,现在我们把这个结构呢写出来,哎,格式啊,首先是这个Switch刚才也说过了,在里边呢,这个叫表达式啊,表达式怎么具体来展开说明,一会我们再说啊,然后在这里边的话呢,我们去写不同的case啊,这个case的话呢,匹配的这都是这个常量啊,常量一冒号一下,这呢就是在它内部的这个叫执行语句,执行语句呢可以有多条啊,你就一条一条的这样去写,用分号隔开就OK了啊,这一句一,然后呢,在这个里边呢,诶还可以写一个关键字叫做break,这也是我们之前没有讲过的一个关键字,咱们结合呢去说一下啊,但是这个break呢,我们说不是说必须要有的,根据实际情况呢,来决定你要不要去添加好再接着我们再去。
02:45
做这个case,那就是另外的这个这个情况了啊,那就是啊,就是这个常量二啊,对应的还有这个执行语句二,包括呢,也可以去添加break。啊行,然后类似的话呢,就这样等等等,哎看看你到底是有几个分支了,就看啊呃当前面这些呢,如果要是都没匹配到呢,我们可以加上一个default啊default呢就类似于else了,它就没有必要再去写一个说常量N了啊,因为你都default默认的,就前面都不行,就执行你你就别再挑3.4了是吧,哎就别再加这个常亮了啊直接呢就是default冒号,呃执行语句呃语句我们写个N,哎这样啊哎这个break的话呢,那就可加可不加了,因为本身呢,它都在这个最后的这个位置上了,哎这个我们也给它加上吧,比如说好整体来看,这就是咱们这个Switch case的一个结构,那下边呢,我们通过这个写代码的方式呢,诶大家呢,去体会一下该怎么去使用,行,嗯,比如说呢,我们现在呢,我定一个int型的一个number,这个number的值呢是二好,然后呢,我把这个。
03:56
哎,Number呢,放到咱们这个表达式的一个位置上,哎,放进去以后我们有一个小呃大括号啊展开,哎接着呢,我们根据这个number的值呢,进行如下的一些匹配,比如说case你是一个零,我这呢就输出它对应的这个,哎比如说写个它的英这个这个英文啊哎这呢我就写一个zero,哎这个时候呢,我先暂时呢不写这个break啊,然后K一下一这样,哎这写个万,诶接着K23这个我就都这样啊,CTRLC粘一下啊。
04:44
二三哎,这是对three行,然后呢,最后我就不写别的了啊,直接来一个default,诶你看我这写的在咱们这个plus上,凡是这个蓝色的这都是关键字啊。
05:02
Can c。呃,这个我写成一个other保存行,整个来看的话呢,这个代码其实并不复杂啊,但现在我们关心的就是运行结果啊,跟大家想的呢,是否一样啊,大家想下我要执行结果应该是什么样?应该是个to是吧,但你看是不是to啊,哎,Switch kiss,嗯,Test,点啥va啊,编译。哎,然后呢,运行Switch case test好执行,诶大家看此时的结果呢,我发现出现了有三个数据哈,Two three other,诶都出来了,这个怎么解释呢?诶,对,没有break,哎,说的对啊,就是因为没有break的原因,我们发现呢,这个Switch case跟咱们前面说的呢,还真不太一样啊,If呢,咱们前面说了,就说一旦这个要是满足的话呢,他就进去执行,一旦执行完以后呢,后边这些是不是都不考虑了,对,他就直接就跳出了,这时呢,我们叫if else啊,但是这个Switch case呢,它不这样。
06:18
对,他找到一个入口,就是前面这个零一都不匹配二呢匹配了,匹配以后呢,他就进去执行,但是执行完以后呢,他并没有这个直接跳出,而是呢,直接就进到下边语句执行,而且下边语句呢,他都不判断了。因为你要判断的话,二跟三还不一样,还进不去了是吧,它没有判断啊,直接呢就开始执行下面的这个执行依句了啊,你像我这个,我要是改成是一个一,那你就也能猜出来它这个结果是什么样的,对你看1234123,然后哎就是这样子的啊诶首先呢,我们把这个事情呢,先描述一下啊哎,这是我们说的一个相应的这个说明,哎通过这个题目我们说明相关的一些点啊呃,这个Switch后边这个呢,是一个表达式啊,我们根据这个表达式的值去依次匹配,匹配下面的这个case中的常量啊第一个根据啊,Switch表达式中的这个值,注意这个值的话呢,通常我们这诶诶通常这个位置咱放的都是一个变量啊,你要是写个常量其实没啥意思啊,但是一般常量你写着也可以啊,但是咱通常都是一个变量了,根据Switch表达。
07:35
这中的值,然后呢,依次啊,按照从上从上到下的这个结构啊,依次呢匹配,哎,我们各个case在中的这个常量啊说一旦匹配成功,这个匹配成功其实就意味着这个number正好是跟你这里边某个值是相等的啊相等就是我们说的这个等等吧,不能是用一个了是吧,一个是负值的啊哎等等,一旦匹配成功,则进入啊这个相应case中的直引语,呃,相应case中的这个直引语句啊,去执行相应这个case结构中啊这个。
08:17
啊调用啊其执行语句啊,那接下来要说的就是当你这个执行语句执行完以后啊,它这个程序呢,其实还是会继续向下执行的,直到呢,遇到break关键字或者呢,使这个程序呢结束为止啊接着往下写会调用其执行语句啊当。啊,这个调用完,调用完这个执行语句以后啊,直行语句完以后呢,它并没有说默认的直接就跳出循环了,啊,则仍然继续向下。
09:04
哎,向下这个执行其他这个case结构中的啊,执行语句,哎这个直到哎这个遇到这个break关键字,哎关键字,然后或呢这个呃,这个程序,或者就是我们这个Switch case这个结构结束啊位置啊或者这个词。嗯,Switch case这个结构末尾,嗯位结束,哎,直到遇到free关键字或者呢,Switch case结构末尾结束,呃末尾结末尾结束为止吧,啊就是遇到关键字啊为止行,呃,什么意思呢?就是这个刚才这个一呢,一旦进来以后呢,呃,执行完这个了以后,他呢,如果你要是没有break,他就接着往下走,那如果要是有我在这加上,那就意味着它到这就终止了,哎,那同样的,如果说你这输的是个二,那你就希望到二这也终止,所以呢,要想实现这叫多选一的情况,我们必须每个里边呢都得加一个break,哎,Default呢,其实这加不加他已经是最后一个了,按说加不加无所谓,其实是吧,哎,你你不加的话,他也正常就结束了,哎,可以。
10:30
部件啊保存一下,那这个时候呢,我们再来测试哎va c哎这哎然后这时候呢,就只有一个弯,哎相当于执行完他以后呢,就自动的就跳出了行这呢,就我们简单的先说了一下这样一个流程啊诶第二个点,诶第二点呢,我们看到这个break关键字,这个关键字呢,可以使用在我们Switch case结果当中,使用在哎Switch,哎case结构中,哎然后呢,表示哎一旦执行到此关键字。
11:13
哎,关键字啊,就哎跳出我们的Switch case结构,哎,这个很好理解是吧。
我来说两句