00:00
下面呢,我们来看一下分支控制的一个注意事项。呃,第一个,如果大括号的一大括号的逻辑代码只有一行可以省略掉,这点跟Java一样,我举个例子,比如说。哦,我还在这儿写DEMO。我还在写弹幕。写一个啊DEMO0303,比如现在我有这么一个if语句,如果什么呢?如果五大于四。那么,我就说出一句话。啊,比如说我这里输出了一句话。Prince。五大于四对,那么else。哎,就说如果这里面只有一句话啊,同学们,这个大括号可以去掉。大括号可以去掉,就就这么一个知识点啊,我把它放到这。啊,把这个点呢放到这,如果大括号只有一行,可以省略掉,大括号里面的我们这个内容呢,只有一句话就可以略掉了,就可以省略掉好少了一个括号,这是第一个。
01:09
好,我们看第二个需要同学们注意的开中任意的表达式都有返回值,这就意味着if else表达式其实是有返回值这个结果的。呃,返回的具体结果取决于满足条件的最后一行内容。我举个例子,这是什么意思?啊,这个呢,要给大家做一个演示。就是它这个结果到底是什么类结果啊,同学们看一下。比如说呃,现在呢,我这里有有这么一个结,呃这么一个内容,比如说v l result,等于我这样写了,如果。如果六,呃,我写一个这样子吧,写个年龄等于。其实,如果age。Age大于。
02:00
20然后呢,我这边有一段代码,这个代码假设有很多啊,比如说哈。H大于20,好,这是第一句,紧接着呢,我又做了一个动作,是。我又说了一句话,叫九加上十好,紧接着呢,我又写了这么一个东西,叫yes。OK,好,我要跟大家说第一个啊,就是我们这是一个if语句啊,这个if,这是一个if语句,Else,我再加一个。我再加一个S。好,可以看到这句话就。比较多了啊,然后呢,我再写一个七。好,我们来看看这个结果是多少,我们看一下res是多少,我们先看刚才老师说的这个规则是什么,开中任意表达式都有返回值,那说明if else呢,其实是有返回值的。那么这个返回值到底是?
03:00
哪一个呢?注意听具体返回的结果值。取决于满足条件的代码体的最后一行。那比如说现在你是70,显然这个条件满足,他就进到这里面去了。那进到这里面去过后哪一行是。最后一行呢?显然这一行是最后一行,所以说它的结果就是yes OK,一个字符串。是个yes OK,这算你看这个地方,我们我们我们一起你看看。这个地方它返回的类型啊,同学们看到是any。说老师为什么它是N不是字符串呢,同学们编译器没有那么强大到说他能够对每一行给你进行这个处理,他就知道你这么这个结果呢,可能是字符串,也可能是七,所以说他没有办法说一定是字符串,如果我把这个拿掉。比如说同学们,我这个七是用。
04:03
双引号引起来的,那么这个时候编译器它是能够判定你就是字符串的,对吧,因为你不管是上面满足。还是下面满足都是返回宙串,所以说它就这个re的类型就是什么呢?就是周算,但是如果你把这个去掉,那编译器就不敢确定了。哎,他说你有可能返回的是yes OK,也有可能返回的是七,因此呢,它这个类型就会是N。因为any呢是string和这个int的类。啊,可以这么去理解,当然有些同学可能说说老师,那你这个编器还是有点弱了,他为什么不能把这个70放进去计算出来就是它呢?没那么强大啊,没那么强大,因为你如果是那样做的话,它里面这个编译器要做的工作就太多了,因为你这块还写的比较简单,那假设教练写的是个递归怎么办呢?你的衣服里面可以用递归的,那递归它编辑到里面再去递归,他自己都蒙圈了。
05:04
所以他没办法去确定你这个是什么结果啊,所以这个点大家要注意这个问题好了,我们不管怎么样,我们看看是不是yes OK,目前这个就应该是yes OK执行一下。执行一下走一个。好,我们可以看到这个结果呢,的确是yes OK,当它运行到这个时候的时候呢,大家肯定知道是字符串了啊,那但是在编译的时候,它是没办法确定的,好,我把这个结果再改一下,比如说改成七,那么这个时候返回的就是七。注意啊,注意是七,它取决于最后一行,满足条件的最后一行,哪个是最后一行,七是L最后一行,因此它返回就是七走一个。好,我们看到这个结果跟我们想的应该是一样的,好,没问题,好这是我们讲的第二一个细节,就是if里面的第二一个细节,注意听第三一个SC中没有三元运算符,那么这时呢,我们就用的是一个简单的if else来充当了或者替代了三元运算,好这一点就是我们这的注意事项就说完了。
06:15
大家看看这个地方能不能理解,好,紧接着呢,我们来看下面几个题,我们来看看这个结果是什么,OK,我们来一起来看看啊,同学们跟着老师思路。首先我们看到这是一个主方法。那么这个主方法呢,首先它定义的一个九,用类型推导给他的,然后result等于这个结果。哎,你们看到这个地方其实啊,它是把这个if。等号号给那个if。那么我问大家一个问题。现在这个呃,九它大于20吗。不大于说他这个结果一定不会是返回的,不是这个结果大于20,那么请问这个结果是什么呢?
07:06
这个结果,诶,他没有没有这个进来,它的结果是什么呢?它的结果就是一个空VO的。那么VO打印出来就是一对小括号,也就是说这个返回的类型是unit unit,那么unit这个类型呢,就是一个小括号,说这个结果应该输出小括号。好,我们再来看这个题,那这个题呢,因为是60,它大于20,因此这边这个结果返回的就是结果大于20,好,我们来简单的运行一下,看看是不是跟我们想的一样。来,我们执行一下,把这个练习呢,也给同学们单独的写一份啊,单独写一份ex exercise03。我们来给大家跑一下。走起来走起来啊,这个地方有个小问题啊,这个地方不知道格式为什么没对,没整对,那么我稍微的把它改一下。
08:08
诶,稍微的把它改一下,这边整理一下好了,好我们输出这个result,我们看看是等于多少啊。Res,等于追听。东西都不难啊,我给大家讲了,你们学的东西都不很难啊,就是这些翻来覆去整的这些东西,你看果然是这一个一段小括号,它是unit的一个实例啊,返回的是小括号,即什么类型呢?Unit。Unit,好,那如果说我把这个改成90 OK,那返回的就是一个这么一个字符串,有结果大于20的这么一个字符串走。我们可以看到。这个时候返回的就是一个字符串了,好,同学们知道这个细节就可以了,好老师呢,就把这个给大家进行一个板书好。刚才我们讲的是多分支,呃,分支控制的注意事项来反述一下。
09:07
好的,哎,打起精神啊,下午呢,这个知识点肯定不像你们写项目那么爽,对吧?哎,老师写个项目,今天你们又整了一个,效果还挺炫的。讲这种基础的语法是最痛苦的,其实我最喜欢讲项目,讲算法啊,这个东西你不讲又不行,因为这个东西有用吗?有用又感觉好像不是很高大上,是不是if是谁不会啊,但是你不把这个说出来你还不知道,所以每天就感觉好像是,呃,前进的不是那么快,但其实呢,这些东西是你的根本啊,同学们,你们将来面试的时候呢,一般好一点的公司啊,一流的公司一般呢,出的题不会特别多,只要上来。去面试说老师,我这个公司给我出了,出了五张卷子,我就知道公司档次一般不会特别高啊,不会特别高,你像谷歌百度一般就是两三个题。
10:02
你做不出来,告诉你啊,题虽然很少,你就是做不出来,随便给你出一个算法优化一下搞不定,所以有些公司他出就三道题,你想我们刚刚这个大学毕业的时候,到了一个微软去面试,他题很少,大概就是五道题。呃一道,呃,前两道是算法,还有两道是关于数据结构的,比如写个红黑素。或者写一个这个广义表,看了都不知道他在说什么,再来给你出一个智力题。好一点的公司还要出一个情商,就看你的情商和智商高不高,知道吧,就有些东西老是,呃,有些公司他还比较看看重这个人的情商,比如说有些有些学学生去的话,我很我很牛,公司不一定要你。啊,去了过后感觉就是天下无敌了,去了过舍我其谁你知道吗?就去了过后就感觉我最牛逼,好公司一般不太喜欢这样的人,所你一定要内敛一点啊,即使你很厉害,你也要说要很谦虚的说我会啊,你不要这样说我会哦,啊要谦虚一点说我会啊好了,这个以后大家要去体会这个公司呢,他有一个涉及到管理的问题,你们现在还没有去自己做过公司。
11:17
等到你们哪一天自己做公司,你就知道真正的这个公司或者老板,他喜欢什么样的人呢?第一个要有实力。第二个呢,还要比较听指挥,就是稍微的那个内敛一点,不是那么很狂的,那很狂,他不好管理你,比如说你这公司来了,人家给你布置一个任务,一个月完工,你偏偏要拖,拖个半个月,还不好把你开除,为什么呢?因为这个公司写了一半把你弄走,人家成本也很高,所以只那个那个招人的那个人事就说自认倒霉啊,所以说我们这个以后,这个在在这个面试的时候呢,至少那一段时间你要显得很低调啊,呃,进去过后。真实的面目以后再展现出来好不好,现在现在先不要那么着急的展现出来好了,这是刚才我们写的这个注意事项,那么我把代码呢,给各位朋友放到这里,诶,刚才我们注意事项是在这写的啊,这说的就是一副钥匙的结果,然后呢,这面有一个小案例。
12:16
这有个小案例。啊,这个地方案例我们也把它拿过来,诶,这有个小案例。放到一栏。第四一个保存下。诶,不要这个啊,取消。完成。这是我们一个小案例。好。然后呢,我把这个代码给大家放到这里来啊,代码代码演示对吧。代码演示,OK。代码演示,OK。好放在哪里的呢?放在这个地方的,哎,这是这么一部分代码。给人拿过来。好,各位。好了好,这是我们的这段代码。
13:00
截取一段视频。
我来说两句