00:00
我们再来看一下勾浪语言语言里面的多分支,那我们看一下啊,勾浪语言的多分支呢,它的基本的这个语法呀,还是挺简单的,和传统语言呢,基本是基本上是一样的,你看啊if。条件表达是一,就执行代码块一,看到没有,如果是l if,如果第一个条件不成立呢?就判断第二个条件,第二个条件成立,我们就执行代码块二,然后往下抑制。就这这门else if可以有多个啊,同学们,Else if可有多个,最后呢,有个else。啊,这个else有没有,其实也是可以有,可有可无的,最后呢,就是执行代码块N。代码块N,好,这个是它的基本语法,我们先把它放到这一栏。来吧,同学们,我们先写到,写到这里啊,叫多分支。多分支。的这个多分支控制。那么我们把它整理一下,我们来把它的基本语法先放过来,对吧,它的基本语法,基本语法我们先写到这儿。
01:07
它的基本语法是什么呢?刚才同学们已经看了一下对不对。就是这么简单的一个东西。就if else if。那针对这个这个语法呢,我们有几点要说明的,注意听一下啊,我对上面基本语法的一个说明,对。对。上面。上面基本语法的说明,注意听。第一点我们要说明的是什么呢?就是它多分支的一个判断流程是这样子的,多分支,注意听多分支。的判断。判断流程是如下啊,如下我们我们来整理一下。嗯,怎么个如下法呢,第一步。
02:01
第一步,先判断。先判断条件表达11是否成立。条件表达式。条件表达式一是否成立?二是否成立?那么这里就有两种可能呢?如果成立,如果为真,如果为真。就执行哪里呢,就执行执行代码块一,执行代码块一。是不是这是第一个,那么如果是,呃,条件表达式一不成立为甲怎么办呢?继续判断。注意听这句话啊,就是。就是。如果,如果条件表达式一不成立。就说这样我直接写啊,条件表达式如果为甲。
03:03
就是它不成立嘛,就为甲,这个时候就执行代码块二啊不是如果那就说这样说啊,这样写比较好,如果条件表达式为甲就干什么呢。就继续判断,就去判断。判断什么呢?条件表。表达式二是否成立?是否成立?对不对,所以说如果第一个条件是不成立,我就判断什么呢?第二个表达式是否成立,如果第二个为真呢,我就执行代码块,如果第二个。D如果条件,条件表达式二为真。微针怎么办呢?就执行。就执行这个代码块二。
04:00
代码块二。依此类推。第三步,依此类推。以此类推。那问题来了,说老师,如果这个条件表达式一二等等都不成立怎么办吗?如果都不成立,就会执行else里面的这个代码块。如果,如果所有的所有的条件表达式都不成立。都不为不成立,就是不为真的意思嘛,啊不成立则执行哪里呢?则执行这个S。的语句块。能理解吧,就是说他是这样判断第一个条件,它是这样子的啊。看他为不为真,如果为真就执行它,那如果这个不为真呢,那就去判断这个为不为真,如果这个为真呢,就执行它,如果这个也不为真,继续往下面判断。直到碰到一个为真的,那如果说前面都不为真怎么办呢?执行else里面的。
05:03
就这个意思能理解啊,好,这是第一个要给同学说清楚的,第二个注意听这句话啊。很重要,L这个地方是可以没有的,就是说它这个L10呢,有也可以没有。他不是必须的,能理解吧。Else,不是必须的。它可以有也可以没有,第三点我要强调一点,就是特别重要一点啊,多分支控制语句呢,也只能有一个入口,它不可能既执行。代码块一又执行代码块二,就是说它只能有一个入口。分支能理解我的意思吧,就是说多分支一样多分支。最终。就是多分支啊,就是这样子的多分支。最终。只能有啊,只能。只能有。只能有一个。
06:00
一个执行入口。入口,也就是说,也就是说他不可能去执行把这个条件为真了啊,这个条件为真我就执行他,如果这个条件为真,我也执行它,这是不可能的,那待会呢,我们看一个流程图会看的更加清楚,也就是说假设我们有个条件是第一个条件成立了。他第一个条件如果成立了,他把这个执行完了就怎么样了,就直接走了。不会再去判断第二个成不成立。能理解意思吧?好,那么待会儿呢,我们看了个图啊,这一点很多,多分支只能有一个。一个执行入口,这个跟前面的那个双分支是一样的,多分支只能有一个执行入口啊,不可能说执行啊,两个这个也执行,这个也执行,这是不可能的,但是有一种可能性,一个都不成立,比如说打个比方,这个人没有写钥匙。有一个多分之,它没有写L4,他写了if else if else if,但是没有写L,那有也有可能是一个入口都没有,能理解吧,好,这个呢,大家如果不清楚,我们案例说明就行就行了,来再画一个,再看一个,看一个多分支的什么呢?流程图。
07:14
这个流程图呢,可以更加清晰的把这个关系说清楚啊,更加清晰。清晰啊,要清好,我们看看这个流程图吧,同学们,打开我们的流程图,你一看就清楚了,打开大家看一下。同学们看这里。同学们看这里啊,你看这里是不是看得很清楚了?他怎么走了?他从这里开始执行,他先看第一个条件表达式成不成立,如果成立就执行这一块,执行完了过后就走了。他不会再去判断条件表达式是否成立,也就是说只有条件表达式不成立的时候,才会去判断第二个表达式,能理解这意思吗?好,那如果第二个条件表达式,它是如果成立了怎么办呢?他去执行这块,执行完了他也走了。
08:05
那也不会再去判断下面的了,所以他只能有一个入口。那么当然了,说老师如果说这个不成立,这个也不成立,这个都不成立,最后呢,那就直接执行这个else,它不判断了,Else他就不判断,当然前提是你写的有L啊。就你如果你写了一个S,前面表达式都为甲,它就会到,这就不会再判断,最后留了一个。最后一个执行的机会,这个L呢,它就不判断了。能理解吧,好,那现在呢,有了这个流程图过后呢,我们来给同学们做一些这个做做一个程序,我们写段代码,大家来加深他的认识好不好。这点老师强调了好多遍啊,最多只能有一个入口。好,下面呢,同学们跟着老师来做个练习,我们来做一个快速入门练习。多分支的啊,叫多分支的。多分之的这个快速入门案例。
09:04
快速入门案例我们来一起编写一段代码,来看看他是怎么做的,来看一段程序,说现在有这么一个案例,岳小鹏参加公浪考试,和他的父亲岳不群达成了一个承诺。什么承诺呢?如果。成绩为100分,奖励宝马一台,当然,这肯定是玩具了。成立,如果成积在80~99之间,注意啊,这个80是一个开区间,也就它不包含80 99是一个闭区间,也就是说包含99,看清楚没有奖励IPHONE7当乘积为60~80之间的时候,注意这个中括号代表B区间,同学们学过吧?同学们,你如果如果你这块没有学清楚,你回去把初中的课本打出来看一下啊,老师就不教了。奖励I ipad其他什么奖励都没有,那么现在呢?请从键盘输入岳小鹏的期末成绩并加以判断。这个题还是很经典的一个题,因为它基本上把多分制的所有都会用到。
10:11
明白,好,那么我们来把这个单的代码给大家写一遍,我们来做一下啊。好,这是个练习题,我们呢新建一个EXCEL2。对不对,我们新建一个文件夹ex ec02。来吧,我们。建一个文件叫man go。跟上老师思路。Package me,然后呢,我们import对不对,Import呢,我们还是按照这个标准的写法吧,Form这个包,然后呢,放什么主函数。对吧,主函数。写到这里来。好,这是放课的一个主函数,我们写到这,然后呢,我们的要求先写好放这。
11:01
给他来一个注释吧。说了啊,注释。好,把这个注释往这边挪一挪,我们现在开始来写代码了,首先我们还是老规矩分析这个思路。那首先我们看啊,他说成绩为100,那说应该定一个变量,有个成绩这个变量,对不对,应该有个成绩这个变量,那么我们假设叫做score。这个分数嘛,分数的变量,好,我们把它定义成一个特性吧,好不好,第二个大家看,因为它这里面是一个条件,两个条件,三个条件,四个条件,那这个时候我们应该使用单分支,双分支还是多分支呢?显然选择多分支。选择多分制。如果你是看视频的啊,你可以停一下。分析完了过后,你再听老师的,我这选择多分支。流控,流程控制。
12:00
如果你是第一次听这个,你最好在这停一下。然后呢,再看老师的分析啊好,第三一步。实现了。因为有了这个东西过后呢,我们现在还有一个从键盘输入,从键盘输入啊,注意成绩成绩从键盘输入。那键盘输入的话,各位同学想一想是不是这个呢,我们还是用format的一个函数啊,Format点什么scan。KLN,好,分析完毕开始了啊,首先呢,我们先定义一个变量。Score in。没问题,然然,我们提示他一句话。提示这个人,请他输入什么呀成绩。请输入成绩对不对,好接收一下我们点scan。然后这里面呢,我们传一个以传地址的方式传进去,讲过吧,没问题吧,好,这个地方score score完了过后呢,现在我们就可以用多分支来判断了,多分支判断。
13:08
根据他的思路一写,首先呢,如果成绩等于100分,来瞅瞅是扣等于100。如果成,注意听,同学们千万不要给我写成这个了啊,要等明白吗?好,等于100,如果等于100呢?我们说出一句话。说什么话呀,就是奖励宝马一台。啊,很高兴对吧,岳晓鹏很高兴,L是if,接着写第二个条件,如果他是80~99之间来写吧,是Co。大于80没有包含80啊,没有包没有包含80,并且是扣,怎么样小于等于99在这个区间呢,注意听。我们提示一句话叫什么呀,奖励IPHONE1台。IPHONE7。奖励一台IPHONE7。
14:01
这个也很简单,对不对,再来一个L。If。如果说什么条件呢,还有一个条件。If,如果它是在60~80之间,那也很简单,是Co大于等于60,注意这个是闭区间啊。并且。是小于等于多少呢?就是80分。必须建。在这个条件满足的时候,我们又说出一句话。对不对,输出一句话呀,同学们说出一句话叫做奖励一个ipad。奖励一个ipad,写完最后如果说他这些条件都不成立,他们怎么样呢?就说什么都不奖励。对吧,你的成绩太差了,一个都不奖励。什么都没有。什么都不讲理。啊,什么都不要。
15:01
什么都不啊,都不奖励。哈,什么都不奖励。那这个代码就写完了,这个代码就写完了,看到没有,那我们现在来运行一下,看看它能不能跑起来保存。跑一下CD点点上移CD到XCC,零二走DR,我们跑起来go wrong什么呢?面点够跑起来,它会让我输一个成绩。对吧,假设我输一个百。降低宝马它就退出来了,看到没有输100,那我这个时候呢,我们再来输一个条件,比如说我输一个,呃,输一个。80吧,我们看看它它会落在哪个区间,80。好,输一个80。降低ipad,因为80呢,刚好落在哪个区间。落在这个区间对吧,诶落在这个区间,所以说呢,它你看它只有一个入口哦,啊还有一点呢,就是假设这个else没有,它的语法也不是错的,你看我删掉。
16:07
代码仍然没问题。只是说如果说,如果说这个条件都不满足,那他什么都相当于说什么都不干。这个不成立,这个不成立,这个不成立,那那就走了嘛。大家不什么都不做,什么都不执行就完了,好吧,这是一点需要同学们注意,那么还有一个使用陷阱,很多同学第一次用的时候最容易出问题的,大家看一下使用陷阱。我给大家再说一下啊,同学们注意听讲这块是容易引起误会的陷阱。我给大家再写一段代码,你们看看这段代码会输出什么内容,注意听代听听老师说啊VAR,注意听我现在呢写一个n int等于。十。朱婷,看我的代码。如果。就听啊。如果N大于九。看得到吗?如果N大于九。
17:02
Print n n,好,我写个OK,没问题吧,紧接着我又写了l if n大于。六。来,Format print LN。OK2。还有else ifn大于三。好,我format一下。然后呢,OK几OK3最后。Aen,好,我写一个OK。四,各位同学请思考。这一段代码会输出什么?十大不大于九。十大不大于九,十大于九,所以OK1肯定会输出。问题来了。哎,十大不大于六呢。十大不大于六,同学们,十是不是也大于六?
18:00
会输出OK2吗?不会了,为什么呢?因为刚才老师讲过。他一旦这个条件成立,执行完了这个东西过后,这个代码。整个这个衣服钥匙就退出去了。你不要看下面还有代码,你不要认为啊,因为我我们画了一个图嘛,就说只要找到一个入口,执行了过后,这个整个这个多分支就怎么样就结束了。你不要忘了这个图,同学们还有印象吗?在我们笔记里面,我们放了这个图的。第一个条件表达是一旦执行成立了就走了,后面这些条件不再判断,你不能说,哎,老师,那我一看这个N大于九成立执行它了,那N还大于六呢,是要成立吗?是,是要输出OK了吗?不是,因为他只有一个入口,它只有一次机会,他只要进到这一块执行完了它就怎么样,整个这个就算是结束了,这点一定要特别的小心。尤其是我们初学者啊。好,那有有些同学老师你给我演示一下没问题,我可以给你们演示一把来看走。
19:04
好,我输一个80。你看80输完了,这属于一个OK4OK1。OK是怎么来的,就是它执行下,因为你这执行完了过后,他还继续往下走嘛,对不对,走到这他发现N等于十这个条件成立,输出OK1。OK1,一旦输出完了过后,后面的这些通通不再判断走人了。好,这块是很容易出的一个使用陷阱,大家一定要特别小心啊,同学们这里只会输出。只会。下面待会只会输出OK1没有别的东西了,一定要特别小心,好同学们,我把笔记微微的整理一把。快速入门案例对吧,我把这个代码呢给同学们整理一下,这是我们的一个要求。是不是这是我们的要求啊?然后要求有了过后呢,我们的代码,我们的代码呢,也给它放到这里代码。如下对不对,代码如下,我们的核心代码呢,就放到这儿的,非常的简单啊,非常简单。
20:06
但是呢,任何东西都是由简单到什么呀,到复杂的,对不对,好,这是我们的。针对上面的需求,对应的代码写完了,那这里呢,老师还要说一个使用陷阱。多分支的啊,对初学者来说,对初学者。而言而言有一个有一个使用陷阱。要一定要小心,那么这段陷阱呢?我把它整理到笔记里面来,就这块儿只会输出OK1,而不会输出OK2或者其他东西。大家看到,为了提示这一块呢,我把这句话标成一个红框框,引起大家的一个重视。原因我就不再多说了,你们去看一下那个流程图,会看的非常的清楚,也会非常明白,好,同学们,那关于我们多分支的一个基本介绍和它的一个快速入门呢,我们先介绍到这里。
我来说两句