00:00
那么下边呢,就要涉及到一个嵌套分支了,嵌套分支我们来看一个案例就OK,那么嵌套分支呢,其实就是一服里面在。嵌套了另外一个完整的分支结构,注意这个有一个细节,希望可以同学们分享一下,就说我们写代码呢,有一个不成文的一个规则,就是大家在写代码的时候呢,嵌套分支不要超过三成,你看有些人写代码,他很写的都特别漂亮,什么呢,就是一看就很。清晰,它的代码呢,里面if不会超过三层,比如说你的代码if里面再写了一个if钥,那个if钥里面再写了一个,IFS里面再写了两层,好,这个代码可读性就会非常的差。那么我们一般来讲,如果你超过三成怎么办呢?你就用别的方法来化解,就说理论上来说,呃,就是当这个嵌到分支超过三成的话,我们一定有别的方式来化解,这个思路就你得你得想别的方法了,你不能不停的往下一付一付一付要死好这个代码看起来就特别的难受。
01:06
好,所以说我们这有个前提是不要超过三层,那么基本语法就是这样子的,我们来写一个案例就可以了,啊,我们来写,诶第一个应用案例啊,第一个应用案例,这个案例呢,是这样子的,参加一个百米运动会。如果用时八秒以内,则进入决赛,否则淘汰。啊,那么并且根据性别提示进入男子组或者是女子组。那么现在呢,我就直接给大家写一写啊,就说呃,输入成绩和性别并判断,并判断怎么写,好我们来写一写这么一个嵌套的案例,好,我们写一个案例了。这是我们的第四一个练习题,还是属于这个。本支的EXERC04。好,来走一个小案例。
02:02
转速。给他写一把,我们来走一走啊,首先呢,我们要定义一个变量来记录他的成绩好,所以说我这提示他一句话。请输入对吧,请输入学这个运动员的运动员的,哎,这个运动。圆的成绩好,这个就很简单,那我就把它成绩记录下来。比如考。这个这个速度吧,Speed speed speed好,那么我就呃来接收一下SPD。好点,呃,Read一个double,好read的一个double开始,如果说它的速度,它的速度嗯超过了八秒啊,如果如果是呃,它是这样的,如果小于等于八秒,说明在我们的范围以内。
03:02
而L10呢,就大于八秒了,大于八秒我们就直接说出一句话,被淘汰了,就是你被淘汰。对吧,你被淘汰了没问题,那么如果是在这个呃,这个范围里面呢,他说了再进行二次判断。再进行二次判就你到底是男主主呢还是女主主呢?好,我们再提示他,请输入性别。请输入你的性别,哎,就是进行一个嵌套了,那性别呢,我们用一个变量来接收speed。啊,这个,呃,这个性别就是真的G啊G。呃,En,真的等于啊,等于什么呢?Std。点瑞的一个什么呢?差啊,瑞的一个差,我就做进一步的判断,如果这个性别它等于男,注意啊,是字符串啊,是字符比较,这样比较,如果是男,我们就提示一句话说进入男子组。
04:09
进入南。男子组没问题,A4啊,又来一个。A4说,如果你。不是在这里面呢,我们就提示另外一句话说进入女子组啊女子组。啊,女子组,好了,我们来玩一把,看看这个多分支有没有啊,就是千多分支有没有成立啊,看相对于说在这里面欠了一个分支,那将来假设男子组里面又要分甲乙丙丁,你可以在里面再进行嵌套,他也是支持的。可以可以是支持的啊,好,我们来跑一个,我们来跑一个,看看能不能正确的运行起来,首先我先输入运动员的成绩,比如说出了一个九,那直接就被淘汰了,不玩了,就是他他这个第一就没有必要再进入到。分组这个阶段了,那么我们这次再来运行一下。
05:04
好,我输入一个四秒钟,4.9秒好,这个时候呢,它进入到我们这个嵌套分支,那这个时候再进输入一个性别,比如说输入性别是男回车好进入男子组。好,非常简单啊,思路很清晰,就是一个简单的嵌套的使用,好我把这个呢给同学们进行一个简单的板书,刚才我们讲了一个嵌套分支啊,嵌套分支用的意思非常非常多的,在我们大数据开发里面,你的这个逻辑肯定是不是那么简单的,对吧,所以让你可能会用到嵌套分支。来,我给大家板书一下,家道分支是个什么逻辑呢?诶,它的基本语法和基本介绍给大家写到这里来,第一个基本介绍,基本介绍。对,就是一个分支里面又完整的嵌套了另外一个分支结构,这个就叫嵌套分支,它的基本语法。
06:07
哎,它的基本语法呢,呃,就是这么写的啊,If else这样子,诶写错了啊,就是这样嵌套往里面写。对,我空一下格,好往里面写的基本语法,那然后呢,我们有了基本语法过后呢,我们举了一个应用案例,就是这个运动会这个应用案例,给大家阐述一下,诶这就弄弄掉了啊。弄掉了好放到这里来,那么我们这个对应的代码呢,写到这里来。代码如下。代码。给大家复制一份好吧,逻辑很清晰。给它放到这里来,哎,放到这里来,走一个扔到这儿啊,同学们。好,这是我们嵌套分支的第一个应用案例,我们就说到这里,好,同学们,我们休息十分钟吧,休息十分钟。好,那现在呢,我们来看这个嵌套分支的第二个题啊,这个讲完我们就讲其他的,那第二个题呢,呃,先说一下这个需求啊,先说一下需求要求大家写一个出票系统,用开了写一个出票系统,根据这个淡季和旺季的月份以及年龄,就说要考虑月份和年龄两个因素。
07:26
然后呢,根据这个月份和年龄呢,分别输出这一个人应该付多少钱,比如说四月份到十月份为旅游的旺季,那么成年人呢,什么叫成年人呢,就是18岁到60岁啊,六六十岁之间呢,呃,他的。价格就是六六十块钱,儿童呢,就是小于18岁的,我们就是儿童给个半价,老人呢,呃,就是1/3的价格。那么如果是淡季,呃,就是排除了旺季就是淡季,那么成年人呢,给40块钱,其他给20块钱啊,那现在这样子啊,我给大家几分钟时间,比如说五分钟,大家快速的先练一练,看看能不能找点感觉啊,写写这个嵌套分支,好五分钟时间做一下,好五分钟时间做一下,然后呢,我进行一个评价,好现在同学们马上开始写这个题。
08:28
好,同学们,我们来一起把这个题做一下啊,来,我们一起把这个题做一做,来这是我们的应用案例二,那打开我们的这个idea,我们来写一段代码。Exer c05对不对,零五。写一个object,那么我们一起来把这个作业看看怎么完成啊,老规矩,当我们拿到一个题以后呢,首先不要动手写东西啊,还是老规矩,思路分析。
09:02
哎,你拿这个思路分析来说话,第一个我们根据这个题呢,我们看到它有月份和年龄,还有票价,因此呢,我们应该考虑到应该定义至少三个变量啊,我们需要定义至少。至少三个三个变量。三个变量啊,分别记录我们的这个月份month,还有我们的这个年龄,还有我们的ticket,就是票的价格,第二个呢,根据这个需求,我们可以看到他在进行这个判断的时候呢,是有月还有年龄,因此他一定会是嵌套分支啊,逻辑上,逻辑上有什么呢?有月份。月份和年龄的判断判断,因此因此会使用到会使用嵌套分支,哎,这个很清楚,第三个呢。
10:02
我们分析出来过后呢,我们可以看到就是下面就根据业务逻辑啊,根据。根据对应的业务,业务逻辑逻辑完成代码,好,那现在我们开始,呃,思路分析完了过后,我们就走走代码了,我们走一下代码,走代码来看,根据刚才老师的分析呢,这三个变量我们先把它定下来,那就开始提示它了,好,我们简单说一下输入月份。对吧,它的月份我们要输入啊,月份呢,我直接用month,因为这个月份呢,它是不会改变的,所以说我用Val,那就是s TD std in。啊,然后呢,点read一个int。好,月份拿到了,我们再来输入它的一个年龄,两个都要综合的判断啊,年龄std点瑞的一个int,还有一个呢,就是它的价格,票价,这个呢,我们先比如说把它定死啊,V l ticket,呃,Ticket,呃,根据他这个分析呢,应该全价是60块钱,那么就给他写个60吧。
11:15
好,现在写完了,我们开始走第一个依附,依句,首先看月份,那月份呢就慢来判断,如果这个月份大于等于四,并且月份是在小于等于这个十之间。当然有同学可能会想,嘿,老师,以前我们做月份判断不是都用的Switch吗?啊,不要着急啊,后面我会说这个事情的,我会说这个事情,现在因为我们还没有学Switch,或者说这种类似的语法,我们先用if判断,就大于等于四,小于等于十就是我们的旺季,在这里面呢,再次判断年龄,如果这个人的年龄是在80 18岁。18岁,并且这个年龄呢,呃,是在小于等于60之间,好,我们认为他是一个成年人,成年人呢,他的是票的价格,说你的票价是。
12:16
对了,票价是多少呢?好,我们可以简单的用他的这个ticket。就这全价就是全价,好,这是一个逻辑,L是if。如果说这个人的年龄他是小于18岁的,小于18岁。那小于18岁呢,它是按半价计算,所以说我这儿就不啰嗦了,直接给它除以一个二。格式化一下,好,还有一个逻辑就是最后这个逻辑了,就什么呢?就是大于60,大于60的话呢,我就按1/3的价格对除以三,好第一个就写完了L10 L10是另外一个逻辑就是呃。
13:03
在淡季的情况下,成人和其他,那这个就简单哈,成人呢,他也是有年龄的,因为成人上面可以看出来,就是按照18~60之间,所以说我这呢,就把这个逻辑拿过来为我所用。如果在这个范围就是淡季,淡季的话呢,它的票价呢,就按40走,那就该写死吧啊,他也没说按百分之多少,那我就写死A死,就别的情况呢,就直接是20块钱写完了在吗。啊,就20块钱。好,同学们,代码写完过后呢,我们来玩一把,看看这个代码对不对啊,来走一个。跑起来。那跑起来过后呢,我们先来输入。啊啊,年龄我好像还没输啊,没有提示我,我要重新来一下。忘了这给个提示啊,Print输入年龄对吧,输入年龄我们再来运行。好,这次又可以玩了。
14:00
首先我们输入一个旺季,比如说这是八月份是个旺季啊,年龄呢,比如说我们输入这一个,呃,40岁,他应该付全价应该是60块钱。没问题,我们再来玩一个淡季,比如说现在我说的是12月份,冬天到了啊,没人去旅游了,是个淡季,那淡季我输一个比较小的年龄,八岁,那八岁的话一回车对吧,20块钱,好,这个代码是正确的,很简单很简单啊,就是把这个逻辑给大家再捋一捋。好,我把这个代码呢给同学们整理和板书一下,非常简单。走到这。好,这是我们嵌套分支的第二一个应用案例,讲完了。给大家放到这个位置来,这是我们的标题三。标题三,好代码呢?就放这儿,代码如下。好,代码我给大家整体拷贝到我们的笔记中去,对。
15:01
好了好,那到此呢,同学们到此啊,我们这一个嵌套分支就说完了。
我来说两句