00:00
那么根据这个常规的这个出呃讲课的顺序呢,就应该给大家讲一个叫Switch曲的分支,那么首先我要给家说清楚啊,看我这一个幻灯片在scan中,他把这个Switch这个语法拿掉了,他没有Switch。那老师没有Switch不可能哦,这个Switch多重要用的很多,但是在开里面它就不支持Switch,他用的是模式匹配来替代Switch。而且这个模式匹配比以前你学的Switch要强大很多很多。啊,强大的就是完全不在一个级别上,那么这个模式匹配呢,我们会有一个专门的章节来讲,就是这个地方要讲这个模式匹配就内容太多了,它涉及到捕获异常,涉及到数据类型的一个匹配很多,所以说呢,后面我有一个专门的章节,专讲这个模式匹配是个重点。所以说这个Switch我们这这这个这个模式匹配我们放在后面详细介绍啊,先跟他说清楚,不要说诶老师怎么没有没有Switch了呢啊,他当时用的这个他用的是match case。
01:11
就是在这里面,它用的max case这种语法结构,而且它的功能要强大非常多啊,这里面的东西就特别多了,不是简简单单,因为它涉及到里面,涉及到高阶函数啊,涉及到高阶函数,涉及到函数的一些特殊函数编函数式编程的东西,所以说这地方还没办法马上讲这个模式匹配,但是呢,肯定是要讲的,这是个重点,而且。好,我先说到这里,那么先把它罗列到这,让让大家心里面有个底哈,不说诶韩老师不讲了,不可能的啊,好,我先把它放到这里。先列到这儿,就是传统的这一个思维呢,它就被替换成模式匹配写到这里来。O了,好,这个呢,我们后面会说啊,使用的是在开使用模式匹配来处理。
02:02
这个呢,我们后面详细介绍好,紧接着下面就是我们的另外一个特别重要的内容,叫做循环控制,那循环控制呢,变化就比较大了啊,就循环控制呢,呃,这个开循环控制也功能非常强大,跟我们Java呢区别是有一些了,我们来看一下开这个for循环呢,呃,它提提供了很多的新的特性。你第一次用的时候,你还可能感觉到有点不习惯,那你可能感觉,诶不像以前那个Java那个for循环看的那么简洁,但实际上它有点类似于我们Java的那个for循环增强。啊,学过负循环增强这个就没问题,那么这个for循环的特性呢,又被称之为for推导式,或者叫for表达式,就是它的叫法呢,发生了一点变化,一个叫for循环的推导式。哎,还有呢,叫或者叫for循环表达式,也就他把这个负循环看成一个表达式来对待的。
03:07
那首先我们来看循环数据的方式,一第一种方式大家可以看到很简单,它是for,这面有个符号。看这个一个箭头,一个杠,这个代表将后面的这一个范围的值循环的交给I这个变量。啊,I这个变量,那我这写的很清楚,I表示循环的变量。这个符号就是同学们看到的这个符号呢,是它规定好的,规定好的不能改变,To也是规定好的啊,那么表示什么意思呢?这句话的意思就是表示将。I将会从一到三循环,而且是个前后闭合的范围,也就是说一二三都遍历出来啊,这个是他基本语法,大家看清楚了啊,那这样子我们来一个快速入门案例,输出十句hello。
04:06
上归谷,那现在呢,老师快速的给大家写案例,那我现在在这边新建,诶这个负循环这有了。我们新建一个。文件叫for demo01。Four demo01demo01走一个。好,我们直接走案例啊,同学们,嗯,干什么呢?我们完成这么一个案例,输出十句你好,上硅谷开始写for。一般来讲呢,我们可以先定义两个变量,比如说star等于一。V end end就是结束的那一个值,比如是等于十,那就for循环I走,然后呢大to。十大two哪里能end?End。好,然后包起来,那么我们这就输出了啊,你好你好啊上硅谷,然后呢,为了好让大家看到呢,我把这个I说出来,看看这个I到底是什么,那我说一个解释啊,这里做一个简单说明。第一点我们可以看到大。
05:17
代表从哪里开始循环从哪个数。哪个数开始循环去循环啊循循环。循环第二个同学们看到这个,这个to是一个关键字,代表从哪到了,是一个关键字,是关键字不能改,第三一个同学们看到这个N的代表我循环到哪里,是循环结束的那一个数,循环结束的那个值,还有第四一点注意它这个。循环的是两边都要闭合的表示表示前后闭合,前后都是闭合的,什么意思呢?就是说大和N是包起来的。
06:08
好,那么现在我们运行一下跑一个。当我们运行看了这个结果呢,就非常简洁了,看就是诶报了一个错啊嗯,报了一个错的原因,大家知道是哪里错了吗。大家能看到我是哪里错了,他说找不到或无法加载组类for,诶大家看到没有,他报了一个错是这你们能猜出来是哪里错了吗?就是这个包名啊,包名里面含了一个关键字,这不行的,你看我这用了个for,而这个for呢,实际上是我们一个关键字,你就不能用在这里,怎么办呢?非常好解决啊,各位同学不着急,你把这个点中。然后呢,这有一个重构,把这个给它改一个名字,比如说我们叫做my for each,就是my for,就是我专门讲for的重构一下。
07:00
好,重构一下,再次运行就OK了。再次运行就OK了,同学们请看执行的效果完全没问题啊,看一二三四五六七八九十,正确,跟老师分析的完全一样,那第一个小案例我们就过了,再多说一句,同学们注意听,再多说一句,这个不循环,除了可以直接对这个数字进行运算,呃,遍历的话,它也可以对我们集合进行一个遍历,这里呢,我简单先举一个案例。先举一个案例了,因为集合我们还没有讲啊,对,说明说明for循环的这种方式。这种这个推导式,推导式啊,也可以直接直接对集合进行便利,非常的简单,那么我举一个例子,比如说我这里有个历史的集合,我先写一个啊,这个历史的呢,嗯,就是同学们以前在甲文里面学过类似的,呃,很类似啊,就是一个集合,那么就随便写一点,比如说我这里放了个哈。
08:12
啊哈,放了一个十,放了一个30啊,放了一个汤姆,大家看到没有,呃,在SC里面这个list的呢,可以放任意数据类型,任意数据类型,然后呢,我这里也用这个来便利一把,看到啊item。走list。你看这种写法相当于把这个集合里面的东西依次遍历出来,好,后面还还会再说item,等于便利一把走一个item运行一下,同学们请看效果。他会把这个历史的集合里面数据通通给你拿出来,看到没有哈,十三十和汤姆好,这个呢,就是先说这么一嘴,说这么一嘴好,这是第一个,呃范围,呃,就是数据循环的方式一,这是第一种方式,大家必须掌握的,我们再来看第二一种循环方式,第二种循环方式呢,就叫until。
09:13
这个ON7呢,就有点类似于我们以前在学那个Java的时候,对一个数组进行编译,注意他这面有个区别,前面都一样,唯一的区别是前闭合后开的一个范围。什么意思呢?就是说前面这个是包括的,后面这个不包括,换言之就是在于它便利的是一到三减一。这点大家要很清晰的知道啊,就不包括三,而是三减一,有点类似于这这种感觉,有点类似于咱们以前学这个Java的时候,你不是写过这个东西吗?Int I等于零,I小于小于点NS,哎,这个同学们可能是还有一些还有一些印象。
10:02
你看如果我们以前这个Java在编辑一个数组的时候,你看这个就有点类似于这个,就是最后这个呢,不包括进去啊,小于嘛,不包括啊,就是这种感觉,好了,那现在呢,我用这个新的方式也来输出十句哈,上硅谷,请大家看怎么完成。好,同学们,请看下一个案例。好,这个呢,我们为了不跟这个打架啊,我们先写一个案例,先写一个案例,好,那么这个叫for until。T,这个DEMO好吧?因为我如果把案例写在一起呢,呃,这个大家以后看起来比较吃力啊,好单写一份,好同学们看一个案例,就是现在还是输出十句。你好,哈喽,上硅谷开始了,还是老规矩,我们定一个起始的值啊,我们可以写一个起始值,Star从哪里开始呢?从一开始,从一开始结束的位置呢?我们要写11了,因为11它本身不包括进去,好,所以说我们就这样写I走道。
11:13
Star,诶,注意听star until until,走,诶,这个地方很很很很讨厌啊,来,Until until。啊,不要这个,然后我们写完吧,End,包起来。好,同学们看到我现在输出,哈哈上硅谷,然后呢,我加上这个I。可以了,同学们看到这个时候呢,11是不会包括进去的,注意它的范围是十大到N的减一啊,N的减一执行一下。就这么一点点区别。同学们看这里啊,你看1234567894没有输出11啊,这边特别说明的是它。
12:04
循环的范围。循环的范围是大到。End。N减一好就强调这一点啊。就强调这么一点好了,这是我们讲的这个for循环的第二一种方式,第二种方式啊,那么先把这两个做一个板书吧,先把这个破循环做一个板数,我们再紧紧接着讲循环的这个叫做首位。好,这是for循环控制,来吧,哎,同学们for循环控制,那么这个地方呢,老师刚才说了一下他的基本的一个介绍。诶,基本介绍放到这里。对吧,诶今天接着说了什么呢。啊,咱们说了一下它的一个概念的问题,对吧,它又被称之为for推导式,有时候你看别人不叫for这个结构,它叫for推导式也是可以的,第一个第二个呢,我们要看一下它的,呃,循环方式第一种。
13:07
好,我把这个干脆整体拿过来吧,好吧,整体拿过来。好,那么刚才我们讲的循环的D。这种方式基本案例,诶看一下基本案例,这边是基本的说明,然后呢,这个地方是输出十句hello,三柜谷,我把代码给各位朋友放置到这个位置,在哪里呢?刚才我们讲的应该是在哎这个位置。For循环代码,你看这样子,大家以后看案例呢,相对来说还可以找一找对吧,也就是说至少我加了个包嘛,要不加包的话,你们大家看起来也很吃力。好,我把这个呢给各位朋友放到这里,哎,欧了第一个,这是第一个,好,紧接着呢,我们又举了说了第二种叫on t这种循环的方式,对吧,这种方式呢,唯一的区别就是它不包括最后这一个数啊,这点大家记清楚就可以了。
14:07
来吧,给同学们整理一下我们的板书,这是标题三。基本案例对吧,诶基本的说明啊,基本说明呢,我这里说了这个第一点。闭合对吧,诶然后呢,这个地方还有一个就是代码,代码的问题放到这。这个地方的代码案例呢,我们把它整理到笔记中。好,这是又一个小案例。给同学们绑到这儿。好,没问题,那关于我们,呃,关于我们这个for循环的一个两种方式啊,一个是to,一个是T,就先说到这。
我来说两句