00:01
我们来看几个关于Switch的课堂练习,那么现在呢,一共有四道题哈,一共有四道题,我把前面的第一个,第二个和第三个给大家做一下,第四一个题呢,同学们就留作课后自己练习好吧,这里面呢,有一个就是字符串这个呃,如果一时半会不会的话呢,可以先放一放前面三个题,我给大家评价一下,好来,我们来一起做一下这个题。好,同样道理,我们先把这块给注销一把。在这里我们新建一个文件哈,跟着老师思路,那这边呢,我们取个名叫Switch exer c exercise。来吧,往下走。好,现在呢,我们include一下。STDL。好。主函数。那么这边呢,一共有三道题,我们一个一个的做。
01:02
我们一个个的做哈。那先看第一个题,第一个题呢,他说使用Switch把小写的char转换成大写的,那么要求转换只只转换abcde,其他的呢,输出R,这个太简单了,咱们直接写一个就行哈。比如说我有个C。啊,那假如我是一个A,好,假如是个A,因为这个人他要求用键盘输入,我这里就不用键盘输入了,因为这块大家都知道怎么做,好吧,我就直接写这么一个东西。Switch。Swi c,这是一个表达式。那么我们写一下case。Case,如果是A对吧,如果是A,因为它这里面只有几个固定的值,如果是A,我们直接输出大写的A就可以了,因为它这里面呢,只是。只转换abcde,那就咱们就固定的写一下就完事了,比较简单,那么如果是输的be呢,咱们只有直接给它输出一个B,给他转一下,转成大写的B。
02:09
如果输出的是C,对,咱们呢,就给他来个大写的C,笨一点哈,然后呢。如果是D,我们输出的是大写的D。如果是E对不对?如果他给的是E,那么输出大写的E,其他的呢,Depot。Default。At default default呢?咱们print f一个什么呀,Other。这就写完了,最后呢,为了能够让键盘停在这,大家查一下我们把这块代码。包起来,然后格式化一下。然后格式化一下就可以了,好大家看一下那这块呢,因为它这个是几个固定的值,就是abcde,所以说我这就直接给它输出对应的大写就完事了,来同学们,我们跑一跑,现在呢是A,所以它应该输出的是大写的A,我们先来给大家生成一个解决方案,看对不对。
03:10
顺顺看一下。看代码有没有毛病哈。好一个成功没有任何问题,我们输一下,那这个时候他应该输出大写的A。这个地方是怎么回事?好,允许操作。输入大写A没有问题,我们再把这换成一个C。输出这个应该输出大写的C。他这个为什么老这样子。他认为它是个病毒,对不对?C好,我们再来输出,输入一个U,如果输入一个U的话呢,同学们他应该输出other。他又输出R没问题,好的,那这个第一个题咱们就说完了,第二个题,第二个题,第一个题我们先注销一下同学们。那第二个题呢,是这样写的,他说对学生成绩大于60分输出合格,低于60分输出不合格,做输入的成绩不能大于100,那这样子咱们就玩一把了,现在呢,我们这样子double。
04:12
Double第一,那我们比如说有个成绩是23点是注意这个第一呢,同学们,同学们可以从从从什么呢?从这个控制台输入。从这个呃,控制台输入。输入啊,咱们从这个控制台输入,我这就写死了,那干脆这样子吧,咱们咱们要不也也输入一下吧,这无所谓啊,给他输入一个0.0吧,这也没有几句话,几句话就写完了。那么我提示他一下PF就提示他什么呢?请输入成绩,请输入成绩。输入成绩好,输入成绩呢,我们用scan。SKYF收一把。那么输这个成绩的时候呢,咱们这边还是用LF来接收对不对,那这边呢,我们来一个地址符第一没问题吧,那现在呢,用十位取句。
05:10
除以,除以怎么做呢?我们用第一去除以100啊,除以60,除以60,呃,大家都知道这个是个小数,最后是个小数,那于是乎我可以把它转成一个整数。大家看我这样写,大家看理解什么意思不?大家知道我这是在干什么吗?我把这个隔一下,大家就看懂了。大家看我,我让这个第一去除以60。然后再把它转成一个int。那也就是说大家想,如果你这个第一大于等于60,那么这个转换过来是不是就是一,如果你这个第一小于等于60。那显然它这个转成特呢,就应该是一个零。能理解,不就是这个地方,我可以通过一个表达式,然后来来判断到底及格还是不及格,这个地方一定要看懂我在说什么事情啊。
06:03
好,然后呢,我写一下case。如果是零,咱们提示一句话,不,这句话怎么写呢,就说。合格了。合格啊,不合格不合格,因为它是低于60的。对不对,不合格,咱们break一下,那么K1。K11,咱们仍然提示一句话。对,叫做不呃合格,因为你假假大家算一下嘛,如果你这个第一是70 70除以六不是等于一点多少吗?一点多少我把它强置转成int,它把小数点拿掉不就一吗?而且人家说了乘积不能打,不能大于100对不对。所以说这个你肯定是只要大于。大于一等于60,小于等于100之间,它这个值应该就等于一,所以说合格没有默认值,默认如果是默认值,就是你的乘积输错了。这样提示一句话,Print f print f,提示一句话,就是说你输入的乘积有误,输入乘绩有误就可以了,因为在正常情况下,要么是零,要么是一,对不对。好,同学们,我们仍然来玩一把get圈。
07:12
好。那这样子啊,我们这收到一个过后呢,因为这个回车会被他收到,所以说我们要输两次get已经输过很多遍了,我就不再多说哈,来同学们,我们运行一把。运营一把,那现在看看这个情况跟我们想的是否一样,我输一个60分合格没有任何问题,再来一把,我们再输一个什么呢?再输一个小于60的,来输一个20分啊,不合格没问题,我再输一个特别特别大的成绩哈。比如说咱们输了一个。嗯,比如说一百一百三十,现在130变成二了,对吧,数乘以五好够了,也就是说这地方我们体现出什么呢?在这个Switch里面是可以是个表达式的,即。什么呢?Switch这个括号中中的括号啊,括号中可以。
08:05
可以是一个表达式啊,可以,这是计算出来的,是一个比较复杂的吧,复杂的表达式。啊,不一定,咱们永远都是个变量,明白这意思吧,好,第二个题咱们就做完了,那同学们看第三个题。第三个地呢,他说根据指定的月份打印该月份所属的季节,三月四月五月为春季,六月七月八月为夏季,九月十月十月秋季,十二一月为冬季,注意他用求要求用Switch来完成,那么咱们就一样的玩一把,首先呢,我第一个嘛。对,然后呢,我们初始化为一个零,现在呢,我提示他请输入什么呀,请输入月份,请输入月份。提示他一下。月份。那么15月份过后呢,我就收一把呗,SCF来拿到一个100D,然后呢用地址mass。
09:00
没问题吧,现在呢,我们用Switch。Switch。一个变量,那现在呢,我们用Switch怎么写呢?Case。来,如果K1,如果是一,是不是是春季啊,可能就应该是春季了,Print if。春季。好的,那么这个时候呢,哎,春季咱们写成春节了,春季。那这个就咱们就break,那呢,大家看到是不是哦哦哦,三三月份啊,咱们写错了,三月份,如果是四月份。大家想四月份是不是也也是春季啊,如果是五月份。五月份是不是也是春季?那这样大家看到其实你三月四月五月都是相同的,那么我们干脆用一个穿透就可以了,把这个拿掉,把这个也拿掉就可以,大家看这什么意思啊,就说如果你是三。它会往下穿透,如果是四也会往下穿透,如果是五呢,当然就是自己了,所以这就是利用了一个穿透的性能,用Switch的穿透来解决了,简单用Switch穿透来完成,来简化啊来简化好下面的是不是一样的道理了,我不用写,大家知道应该怎么写了吧,下面呢,就是夏季,夏季是678。
10:22
六月七月八月,那这边直接写成夏季。下集好写完,那么再来一个就是什么呢?诶就是下面的代码了,下面代码是九十十一。九月。十月。11月,那这个是什么呢?是秋季。这是秋季。好,再来一个,最后呢,就是冬季,冬季是这个月份,咱们也来写一把。那就是12月。然后是一月。
11:00
二月。这个是什么呢,冬季。冬季诶东东冬季好写完了,那最后这个break其实可不要啊,可以不要,那现在呢,我们把这个代码的稍微的这个格式化一下,同学们格式化好看一点。然后呢,这边我们为了看到这个效果呢,我们后面来两个get叉,对吧,第一个get叉是过滤掉了一个回车,好我们可以来运行一下了,同学们运行一下来走一个。那走起来,我们看效果,我们看效果哈,我输一个一月份冬季没用法,那么我们再输一个二月份。再说一个二月份是不是还是冬季没问题。应该是正确的啊,然后呢,下面就我就不一个试了,应该是比较简单的,那第四个题呢,同学们自己完成,好吧,我就不说了,最后我们来给大家说一下Switch和if的一个区别。那么有些同学就会问到说老师顺序和衣服都是用分支结构的,那么应该怎么选择呢?我是这样子给大家一个建议,如果我们判断的具体的数字不多,并且呢是整形的或者是枚句型的,虽然两个语句都可以使用呢?建议使用Switch语句。
12:15
就说你你具体的值并不多,比如说就星期一,星期二,星期三或者春夏秋冬。对吧,这个呢就比较比较具体,或者是我们的玩游戏的时候,向上向下向左向右的方向判断,这就是个方向嘛,所以用Switch比较方便,如果我们是对一个区间的判断。对这个结果,结果为真假的这种区间的判断,我们用if,为什么呢?因为if一般是这样写的,If X大于多少多少对不对,或者是X小于多少多少,那么if语句呢,更适合对某一个区间的判断,而十位取语句呢,更适合是具体的几个值的判断,你比如说刚才同学们看我们在这写的。对不对,我们在这写的像月份,其实就12个月份。
13:04
而我们季节就四个季节,所以用这个Switch呢比较合适一点,好,这就是老师给大家的一个建议,那这样子我们把刚才前面讲的Switch的内容呢,给大家小结一把,我们看看讲了哪些内容,梳理一下。跟着跟上老师思路哈。那么Switch语句我们首先讲了哪些呢?第一个我们先给大家讲了一下Switch语句的什么呀?它的基本语法和它的一个流程,好,我把这个地方截一个图。它的基本语法和流程图写到出来叫啊叫基本语法和流程图。基本语法和流程图放这儿,那么这个流程图呢,是一定要给大家放放过来的,因为这个流程图特别的重要。这个流程图一定要有非常深刻的印象,好,同学们,我把这个图给大家拿到这里来。
14:02
放这吧。这是流程图,那流程图说完了以后呢,我们接着继续往下玩。把这个图说完了,是不是我们就来一个快速入门,还记得吧,这快速入门呢,我们完成了这样一个案例。首先案例呢,就是根据你输入的ABCDEFG给他提示星期几,那代码呢,小人代码演示。代码演示哈,这是一个案例。大力呢,咱们用一个这样的符号吧,把代码呢,给大家拿过来,在哪里呢?Switch DEMO。好,为了好看,把这个注销去掉。复制一下。好,同学们,我们插入一个小表格。扔进去就可以了,紧接着呢,我们继续来看下面一个,下面呢,我们又讲了什么呀,讲了一个细节讨论,一共有五点。是不是这个细节讨论呢,其实呃,你有一个印象哈,就知知道是怎么回事,细节讨论放这来。
15:04
给大家梳理一下。细节讨论。好,紧接着呢,咱们继续来看一下,下面呢,是不是又给大家做了一个小练习啊,啊不是一个小练习好几个好几个,我们把它放这来。课堂练习放这来。那么课堂练习呢?我一共给大家做了有三道题。另外一道呢,同学们自己去做好吧,那我整体放这儿就是课堂练习啊,在就是课堂练习答案。课堂练习答案。好课练习答案呢?我在这里给大家梳理一下,就是这是不是给同学们复制到我们的笔记中即可。最后是不是还给各位同学整理了一下Switch和我们一的一个区别,以及咱们在开发中应该怎么去选择?我这里呢,总结了两点,总结了两点就是梳理。
16:04
那什么时候咱们用Switch呢,就是判断的具体的数字不多。不多的情况下,而且还满足它是用整形或者枚举类型的这种判断,我们建议用Switch,如果是对区间的一个判断,朋友们,朋友们,那么我们就使用什么呀,我们就使用一一据。好,各位同学,那关于我们Switch分支结构呢,就给大家讲解到这里,大家要把练习题多做几遍。好,这节就说到这里。
我来说两句