00:00
行,那这个结构呢,基本说清楚以后呢,下边咱们还是通过一些题目呢,来理解它的一个使用细节啊呃,这块呢,咱们刚才已经讲过了就过了,然后下边呢,看这个例题啊,这个例题的话呢,第一道题看一下说使用Switch把小写类型的差转换成大写的啊,只转换abcde,其他的输入呢,写出other。呃,你呢,可以从这个键盘去获取,我这写了个提示啊,键盘呢,我们获取一个字符,但是呢,咱们说scan呢,不能获取这个字符了,所以只能先获取一个字符串。哎,然后咱们再是不是调这个chart,所以是零的这个位置上的元素就可以了,这不就找到对应的这个chart对吧?上午咱们不是讲过这样一个小知识点吗?对啊,然后找到这个叉以后呢,呃,因为我们这个Switch后边这个小括号中表达式可以放差,所以直接呢,你就把这个叉类型就放到这就可以了,接下来呢,你就写case就行啊,这个这个题就我就不去写了啊,Case的话呢,你就看你是A啊,那就是冒号一下,哎,你就输出这个大A就完了,哎如果你要是这个A呢,哎,里边你就输出一下这个哎大B就可以了,哎等等等等,哎,只只转化这样几种case,那如果是一个其他的,你就写个default来输出一个other就可以了。
01:25
这个题基本上就过了啊,其实主要的这个难点呢,还是集中在我们怎么从键盘上去获取一个差,这个咱们早上的时候讲scan的时候说过这个事情,哎,大家通过这个题目呢,下来呢,当成一个练习题啊,自己再强化强化好,这个我就不讲了,然后我们来看下这个第二题,通过这个题呢,我们来说明一下诶s case中的另外一个特点啊。新建一个Java文件case test1。
02:01
这是我们这个例题啊,CC1。好看一下啊,说对学生成绩大于60分的输出合格,低于60分的输出不合格。啊,那学生成绩呢,这我就不从键盘就获取了啊,诶这个SKY呢,咱们就我就不用了,诶我直接呢就把这个成绩呢,先写死到我们这个代码里了,比如说考了78分,那很显然就是合格了,现在呢,要求用Switch case来描述这怎么写把是一个in的型的,确实可以放这啊然后然后呢K40不合格,然后K1,嗯,然后K2,然后呢就就然后了,写到一直写到K100是吧,前提是只有零到100分是吧?啊是不是有点想死的感觉。
03:10
哎,那通过这个呢,能看出来这个Switch case你要这样写的话,他好像不太适合写这种是不是取值情况特别多的那种情况,对那你这写这个这个大家猛一眼一看,是不是用E用起来特别爽,对那一写就就完事啊直接呢,你这不是一个scar,然后这这个我们先先给它注释掉了啊就这样整肯定不。啊,这样整的话,估计一下午你啥也别干了,就光写这个了啊,而且呢,这个一点这个嗯,这个这个劳动你说做了就做了啊,但是这个价值有点太低了啊,那用这个if写呢,那那太爽了啊,这一看就就感觉结果都快写出来了是吧?如果你是及格的,也就这么着一下啊,这就是个及格,然后else这就不及格,嗯,这这就完事了啊很简单啊呃,那现在呢,人家题目要求了,说你必须去使用这个,那怎么办?
04:14
那我们得想办法尽可能的这种情况呢,稍微少一点。哎,这呢,就想了一个策略取模啊取模那有啥用啊,是不是取做个除法呀,比如说我们这个成绩零到100分啊,我除一下十。这个时候一下子这个情况是不是就缩的很少了,哎,也就这么几种情况啊,成绩呢是零到100分的,然后你除以十以后呢,对就是K0,然后最大呢是K10呗,哎,这时候就11种情况,我们还可以接受啊,那来吧,也有点崩溃啊不,这里边呢叫不及格,哎不及格完以后呢,接着加上一个break,然后后边呢就很多了。
05:23
来从上往下给大家这个调一调啊零,然后1234。56789少一个是,然后这个呢,就是及格保存一下,对是不是就这样,嗯,就是看着好像是有点low啊,但好歹呢,有一种方式比你一开始写从零到100那要靠谱了,行,那这个时候呢,我们先执行一下,看看O不OK啊。
06:07
Java switch1test一点Switch case test1及格,呃,因为咱们这时考的是这个78分行,呃,这个呢,感觉是没啥水平是吧,含量啊,但我们讲这道例题的目的是什么呢?哎,我是想说明这个问题,大家看在我们现在写的这些case当中,你会发现呢,这个case这个case,这个CASE1直到这块他们的这个执行语句呢,是完全一样的,对于这种执行语句完全一样的情况呢,我们说是可以考虑合并的,什么叫合并呢?看啊这这叫合并,我把这个呢我删掉。哎,到这儿就是他们的情况都是跟他一样,我就只写了一个了,下边这个呢,跟其他的合格的情况也都一样,哎这个题呢,其实可以改写成这样,哎把这个呢,我们写一下这个啊说明说如果这个Switch case这个结构中的case。
07:26
哎,结构中的这个这个多个case啊,它的这个执行语句相同,诶,则可以考虑进行合并,哎合并的效果呢,就是咱们下边写的这个情况啊。哎,感觉上挺好,但实际上我再说一句话,这个其实不算是新的知识哈,怎么叫不算新知识,对,其实呢,不就相当于你没有写没写,然后语呢没有。对吧,哎,就像我们这个除完以后,你不就是七嘛,七完以后呢,我去执行语句,你就假设假装执行一下,其实你没有东西嘛,没有东西你又没有break,是不是就接着往这走,接着往走,这也没有,也没有我就接着往这走,这也没有,我就往这走,就直接到它了,其实还是咱们前面讲的这个知识点,只是说从形式上来看,你好像说没见过似的,其实呢,没啥新东西。
08:24
对吧,能理解这意思吧,能好,如果说单纯要是这道题目来讲啊,就说这道题来讲,其实让你除以十不是最优的策略,对啊,除以60不就是更好吗?哎,我让我这个case呃,K了杠,我出一下60,直接这个情况呢,哪有那么多kiss啊,直接K0一下,这就不及格了,对,我K一下不就是及格了吗?呃,然后default呢,我们说又又是可选的,我就不写了,这其实从这个题目上来讲,这是一个更优的一个解决方案是吧?哎,只是呢,咱们这道题呢,主要是让大家想见一见多个这种case,其实可以合并的这样一个效果啊,所以这个呢,我们说了一下这道问题,行,这是我们说的这个题。
我来说两句