00:00
咱们呢,说完了这个if的一堆练习呢,If服呢,咱们就说这么多了啊,If其实也不难,但是咱们以后会用的比较多啊,会的比较多,然后再说一个呢,用的没有那么多的,但是也比较好玩,一个东西叫什么叫做一个条件分支语句啊,条件想分支语句,其实这条件判断我想想分支吧,哎基本上是一个东西啊,我们来说条件分支语句,我们来说一下什么叫条件分支语句呢?呃,条件分支语句,诶也叫什么呢?诶也叫Switch语句啊,也叫Switch语句,那现在我们先来说一下啊,什么时候要用到这个东西啊,什么时候用到这个东西,那我们现在先写这么一个需求什么呢?诶我们这有一个变量来什么呢?Y一个这个number number等于什么呢?等于一个一,它是一个数字,是不是一啊,我希望做这么一个功能叫什么呢?叫做根据我们这个number的这个值输出什么呢?输出对应的中文,诶根据number的值输出对应的中文,那什么意思呀,也就是说。
01:00
说number是一,我就输出什么呀,横着那一对吧,Number是二,我就输出横着那个二,或者NUMBER3,我是不是输出横着那个三呀,那输出三啊,根据number值输出这个对应的中文,那这块我要怎么做呀,我是不是做一个判断呀,If什么呀,Number等等于一,如果number等等于一,我就干嘛呢?我来一个cancel.log一个什么呢?Log一个这个字符串来一个什么呢?来一个一,哎我们这个中文这个一,或者你可以输那什么呀,那个。这一我还找不着了,大写的一是吧,哎,你这个写写这个什么呀,这个支票那个一对吧,哎,这个一我这个保存咱们这个看效果。哎,我们到边改边看。清空一下我这一刷新是不是输入这个一啊,哎,输入这个一,那我们来说,那如果NUMBER12现在有没有反应啊,没有是不是没反应啊,诶我再来一个,来一个什么呢?Else else,我们来一个这个number等等于二,我就来什么呢?Cancel点一个log来什么呢?来一个二。
02:03
诶这个,然后你可以接着往下写,Else什么呢?Else number等等于三,我来一个这个cancel.log一个这个三,哦哦,少了if服是吧?哎,这是错的啊,这是错的一定要注意啊,我是诚心的是吧,看你们认不认真听课啊,啊你们还是很认真的是吧,我很欣慰哈,来这来打印一个这个三是不是这个效果呀,诶根据number的值来输出不同的这个,哎中文我这是二是不是输出这这个二啊哎,我这如果是一个三是不是输出这个这个三呀,哎,所以这里边注意我们可以干嘛呢,完成这么一个效果,但是这个东西有什么问题呢?我们来看啊,对是对,但是它会稍微的有点什么呀,有点麻烦,有点麻烦,怎么麻烦呢?你看我每一个是不是都在和number做比较啊,诶,每一个都在和number做比较,而且都是在做什么呀,是不是相等。
03:04
的比较啊,哎,相等的比较,那像这种情况呢,我们最好就可以来使用什么呀,使用我们这个Switch case啊,Switch语句我们的条件分支语句,我们来看看怎么用啊怎么用,那这里边我先给它注了啊,注了然后我们就来说一下叫什么呢?Switch语句,我们来说一下这个语法以后注意了,If说什么什么语句,我说if语句一定是if后边跟一个什么呀,括号,我一说Switch语句一定是哎Switch Switch后边跟一什么呀,括号啊,然后根一什么呀,大块都是这么一个结构啊,都是这么一个结构,然后括号里边我们要写的是什么呢?叫做条件表达式,条件表达式然后这我要写什么呢?写一个叫做case,哎,Case后边跟着一个什么呢?跟着一个,这个也叫做一个,咱们就叫表达式吧,哎,表达式然后来什么呢?冒号,冒号号后边跟着一段什么呢?语句,语句来一个省略号,我的意思还是可以写多个,哎,然后最后来什么。
04:04
我们来一个这个break这么一个结构,我们来看呢,再给它多写几个,直接我这CTRLC,然后CTRLVCTRLVCTRLV我们还过走。走这东西高科技是吧,你说我删它,它活着不动弹啊好是我们说这么一个效果,然后最后还有一个什么呢,还有一个def fatut default,然后一个冒号,这再来一个这个语句,然后点点点这来一什么呢?来一个这个对诶你看我这东西写的是不是还还挺长的呀,诶当然这里边注意其实就是什么呀,Switch里边一堆的这种case,还有这个default吧,哎,Default这case呢,其实你要说你就少他们少写几个,写两个行不行,行,你写20个行不行,行case数量呢。不限制啊不限制,那我们来说一下它那个是什么意思,那我们来先先不说它什么意思啊,我们先来看看把我们刚才那个if语句改写成这个什么呀,Switch语句我要怎么改,看我怎么改啊,我这直接来什么呢?来一个这个Switch Switch后号里边是需要一个条件表式,条件式呢,我直接传一个什么呢?传一个number,诶number是不是就是我们这个值啊,诶值,然后后边跟着一个大块,我来什么呢?来一个这个kiss kiss什么呢?CASE1,然后来一个冒号,我来一个什么呢?cancel.log这个什么呀,一。
05:30
我这一保存是不是这么一个效果呀,我们现在来看啊,现在值是三,我已保存是不是不输出啊来我把值改成一,我已保存是不是出来了呀,诶出来以后是不是证明我这句话。执行了呀,诶那是不是这句话呀,来我给他加一个小小尾巴,诶来咱们再看一保存,说确实是他呀,诶确实是它,那这块是怎么回事呢?我们来说一下,我们来说一下。这里边我们说它的这个执行流程Switch,哎,我们叫做或者叫做一个Switch case语句,Switch case语句在这个执行时会什么呢?哎,你注意了,我Switch这个括号里是不是有一个前表达式啊,Case的后边是不是还有一个表达式啊,哎,表达式执行时会什么呢?会依次将我们这个case后的这个表达式的值和什么呢?和我们这个Switch后的这个什么呀?哎条件表达式的值进行什么呢?进行这个全等。
06:41
比较啊,进行全等比较什么意思来看这我这是不是一个情感达式啊,既然是表达式,它最终是不是有一个值啊,K后边是不是还有一个表达式啊,它是不是也有一个值啊,它会将这两个值干嘛呢?进行一个全等比较啊,进行全都比较,注意啊,它是不是一次啊是。
07:03
依次诶从上到下去干嘛呢?依次进行比较,先干嘛呢?先拿它跟他比,然后再拿他跟他比,然后再拿干嘛,如果还有时候再接着比啊,哎,接着比会依次进行全等比较,如果什么呢?如果比较结果为处,诶为处,也就说这两干嘛呀一比,诶这俩干嘛呀全等了怎么办呢?诶则从当前case处。开始执行代码啊,开始执代码,如果什么呢?如果比较结果为fourth,则什么呢?则继续向下比较,什么意思?咱们来直接看例子啊,看例子现在我这有一个什么呀?有一个K1吧,Number是不是我这个变量,它的值是不是也是一啊?他要干嘛呢?拿我的这个K1和这个这个一和谁呀?和number进行全等比较,这俩一比干嘛了?全等了一全等则从我这case这开始执行代码,从这一执行是不是就给我输出一个一啊,哎,输出一,然后我再来一个来什么呢?来一个case一个二,然后一个冒号,我这来一个这什么呢?cancel.log一个这个二,那现在我们来说了,现在我number值变了,变成几了呢?变成二了,我现在问你了,一和二全等吗?
08:35
不全等,所以这个条件是不是不满足啊,不满足怎么办?是不是接着往下比啊一比,诶二和二干嘛呀,全等则干嘛呢,从这个地方开始执行代码,那注意了,它还执不执行了,哎就不执行了,所以你这块一看,我们来边改边看一看是不是就输出一个二啊,因为第一个条件不满足,那同样你这如果是三呢,输不输出啊,输不输出啊,哎,因为我这没有写,你可以把三给他再写一个,我们来一个K3,我这就输出什么呀,输出三,然后一保存,诶不是这个三啊,我们刚才那个三一保存是不是这个效果呀?哎,其实这个跟我们上边写这个是什么呀,是一样的啊,是一样的,只不过它这块没有显示去写这个什么呀,全等它是什么呀,自己去判断的啊,自己判断一定要注意啊,一定要注意看着我这不写三了,我写什么呢?这个玩意儿你说还会不会过来了,会不会过来了,我一保存没了吧。
09:35
为什么呀?哎,全等,你一个number和这个string能全等吗?不能,所以这就不会进来了啊,所以注意它们是全等判断,然后我们再看一个问题啊,来我在这改number,咱们这样能看得清楚一点,来什么呢?Number等于一个1NUMBER等于一满足第一个是不是第一个呀?诶第一个我们来看效果啊,我这一保存走你,哎哟。满足第一个你会发现什么呀?123是不是都出来了?诶那不对呀,怎么一二三都出来了呢?我是不是只希望输出一个一啊,可是123它都出来了,那这是为什么呢?我们来说一下啊,我们说什么呢?如果比较为处,比较结构为处则会干嘛呢?从当前case处开始执行代码,那什么叫从当前case处开始执行啊?
10:27
这个和一干嘛了,全等了,则从这个位置开始执行,往下的它会干嘛呀,都直行啊都直行,所以这块我们来说什么呢,也就是说当前。这个case后的这个什么呀,所有的所有的代码都会干嘛呀,都会执行啊,都会执行,所以你注意,如果我这是二呢,你猜什么效果,是不是输出一个二三呀,哎,因为叫什么呀,叫当前K后边的都会被执行啊,所以注意它不是只执行他自己的,只要在他后边的,他都会干嘛呀执行,所以你看二的时候一执没执行没有,为啥?一是不是在在头里呀,哎在前边啊在前边好,那这块看完了,但是这有个问题了,那我不想执行了,我希望你一的时候干嘛呢,你就给我输出123,你是不是别出来呀,那怎么办呢。
11:24
诶,我们可以在这儿加一个什么呢?Break,诶break干嘛呢?我们来说一下,使用我们这个break可以来可可以来把呢,可以来退出我们这什么呀Switch语句啊退出Switch语句什么意思?那现在来看,现在number等于一,是不是跟我这K1是全等的呀,全等则执行我们K1后边所有语句吧,先执行第一个CANCELLO1,在控制台输出了一个什么呀一,然后再往下执行,是不是执行到我们这个呀break呀,Break什么意思呀,叫做退出Switch语句,也就说什么呀,一执行到这,我这个Switch语句就结束了,换句话说,Break以后代码还执不执行了,就不执行了,你保存走,你是不是就出来一个一啊,往后就没执行了,为什么?因为执行break是退出了我们这个什么呀语句好,但是看这有没有问题啊,我再改一个,改成什么呢?改成二了,我这一保存走,你是不是二三呀,诶怎么又出来二三了呀,诶二是不是没有break呀,诶所以这块一般情况下我们每个。
12:24
Case后边都需要跟着一个什么呀,Break啊,一般情况下每个case后边都需要跟着一个break,所以这块一定要注意啊,一要注意诶那我们说什么呢?我们可以,哎在我们这什么呀?诶case的这个后边干嘛呢?哎,跟着一个什么呀,Break,哎关键字这样什么呢?哎这样可以确保。只会执行当前case后的这个语句,而什么呢?而不会执行其他的这个什么呀,Case啊,而不会其他执行其他这个case啊,所以这块注意我们这个Switch case啊,后面这个关系,一般我们这个break都是干嘛呀,必须写的啊,必须写一般情况下啊,你看,所以我这个语法这break是不是也给你也给你写上了,这块看懂了吗?哎,好,那再来看,那这一块看完了,但是有个问题啊,有的时候我们干嘛呢?我们这人他写的是一个什么呢?这number值是ABC,诶或者是一个字符串,字符串ABC,那我问你了,那现在这里边有没有字符串ABC啊,没有,所以它是不是不动换呀,诶不动了,那我一想,那我这样我希望他处理一下ABCAABC是不是合法的值啊,不是,我们是不是只处理数字啊,所以我这来一个什么呢?来一个cancel.log唠了一什么呢,唠了一个诶非法数字,我是不是输出这么一句话呀,然后这也来一个这个break。
13:48
对呀,你看啊,我这个case已经是最后一个case,这break是写不写是不是都行啊,因为它后边是不是就他一个了呀,但是也是尽量还是给他写上啊,尽量还是写上来,我这一保存走,你ABC是不是非法数字呀,诶是不是很高科技是吧?但是问题来了,那非法数字是不是只有ABC啊。
14:08
我来一个什么呀,BCD它是不是也非法数字啊,但是这它会不会处理啊,诶我一保存是不是没反应啊,那我一想得了。复制一个来一个BCD,我已保存是符法数字呀,那这么写靠不靠谱啊,没完没了吧,你得把所有的情况是不是都得考虑到啊,那这样写呢,不太靠谱,那我们说了,那怎么办呀?诶,那我们说了,现在我们只处理123对吧,那实际上对于我们来说,除了123。是不是全都是非法数字呀?哎,除了123全都是非法数字,那怎么办呢?诶我们还有一个叫什么呢?叫做底for def fort什么意思呀?哎,默认的啊,默认的来我们来看什么效果,直接来一个cancel.log一个什么呢?非法数字来我们来看保存来一什么呢?来一个break,咱们再看效果啊现在我们这输出的是什么呀,咱们先来个一吧,我这一保存。
15:08
哦,字符串一吧,应该是什么呀?数值一啊数值一我这一保存走你一啊诶然后来什么呢?来一个二,我一保存是不是二啊来我再换一个,换个什么呢?换一个这个这个玩意儿来一个hello,这是个字符串吧,恶意保存走你是不是福法数字呀,那这底O什么意思呀。哎,我们来说啊,如果什么呢?如果所有的这个比较结果都为false,则什么呢?则执行我们这什么呀,哎,Default后的这个什么呀,语句,所以这个default就相当于什么呀,是不是相当于我们这个if else里边那个else,哎,Else啊,所以这块是我们说这个一个Switch语句,条件分支语句,它可以把这什么呀,分成一个一个的什么呀,条件啊,一个一个多的条件,但是你要注意它是将case后边这个表达式和这个Switch后边表达式进行什么呀,全等比较的啊,全等比较的叫做一个条件分支,专门用来适用于什么呀,这种情况啊,这种情况,但是我们这块要说一下啊,我们来说一下Switch语句,我们已经说完了,那实际上什么呢?我们说Switch语句和我们这个if语句的这个功能,那实际上是什么呢?是有重有重复的啊有重复的,那要有重复的呢,我们说使用我们这个Switch可以什么呢?可以实现我们这个。
16:28
If的功能啊,同样什么呢?同样使用我们这个if也可以干嘛呀,实现我们这个Switch的这个功能,换句话说,这两个是可以什么呀,可以互相互相代替的啊,互相代替的,而且这里边呢,其他语言里可能会说到这东西,它性能可能会稍微好一点,但是实际上咱们这儿呢,没啥差别,性能都差不多啊,性能差不多,所以什么呢?诶所以呢,我们在使用时可以什么呢?哎,可以根据自己的这个什么呀,习惯选择啊,根据自己的习惯选择,那我们实验过程当中呢,相对来说还是什么呀,If会用的呀,多一点啊if会用的多一点,Switch的好处是什么呀?它这条件比较比较清楚,你K1我一看就是一这个情况,K2是不是二的情况呀,K3是不是三这情况呀,你这要写一个k hello,我是不是知道是hello这种情况呀,这种呢,比较什么呀,条件比较清楚啊比较清楚。
17:28
所以呢,哎,各有各的一个好处,但是总体来说可能还是我们这什么呀,If会用的多一点,但你要知道他们两个是可以互相去代替的啊,互相代替的好,那这个呢,就是我们说这个Switch语句,我们就说这么多就OK了啊,然后呢,Switch呢,有一个这个也有这么几个练习,我们来看看Switch练习CTRLC直接给它粘过来,其实练习就比较简单了,直接粘过来Switch里边来看第一个,第一个呢叫做什么呢?对于成绩大于60的输出一个合格,低于60分的输出不合格,其实这个用Switch做有点麻烦是吧,有点麻烦,这个东西用if是不是最简单的了,If你大于等于60我可以输出合格,小于等于六小于60我输输出不合格呀,诶其实这个应该用if去做,但是你要想想用Switch怎么来完成的啊,到时候你来自己思考一下,还有一个练习呢,叫做一什么呢?从键盘接收整数参数,如果该数字为一到七,则打印什么呀,对应的诶星期,否则打印什么呀,非法。
18:28
参数什么意思呀,从键盘输出一个数一你就打印星一,二你就打印星期二,六你就打印星期六,七你就打印星期日啊星期日诶如果不是这几个数,你就打印什么呀,非法参数这个题呢,跟我们刚才写那个什么呀,这是不是一样的呀?哎,一样的啊,所以这块把这两道题呢思考一下啊,我们这四页就OK了,我们先呢听一下。
我来说两句