00:00
那现在呢?我们接着来看一下for循环控制的基本语法和它的循环。执行流程分析循环执行流程分析这块呢是一个重点,同学们这块是是一块重点,来我们来看一下报循环的基本语法是怎么样子的,同学们看到这里没有?看到这没有for循环的基本语法呢,它是这样子的啊。首先。那我们看他的,呃。基本语法有这么几个部分,第一个首先是循环变量的初始化,这个跑不了,第二个呢是循环条件。循环条件。第三一个呢,各位同学看,就是循环变量的迭代。还有一部分呢,诶这地方我把它标错了,标成一个这个颜色好不好,粗体的,然后这块呢,是我们的循环操作语句,就是我们的循环体。这是我们的循环题,这是它的基本语法,那么我把这个基本语法呢,先给同学们放到笔记里面来做循环的基本语法介绍。
01:10
For循环的基本语法。基本语法。好,我们先把它放到这个位置。它的基本语法是什么样子的,刚才老师已经说了,对不对。好,把它放到这块来,大家加深一个印象。那么对于这个for循环的基本语法呢,我这里有些要给大家交代的。这是语法格式。语法格式。那现在呢,我们对对上面的语法格式呢,做一个说明,对。上面的。语法格式,所以做一个说明。那么我这总结了几点,大家注意观察。第一点。对于循环来说呢,有四个要素,第一点我们说一下。
02:03
循环的四要素对for循环来说。循环来说,有循环是要素,有四个要素,哪四个要素我们来看一下。第一个要素是循环变量初始化。要注意第一个是。第一个是循环变量初始化,也就是说我们需要有个循环变量先初始化一下,这是第一个要素。第二个呢,有循环条件。循环条件,所以循环条件就是他会判断你这个循环是否还能够继续执行。第三个呢,就是我们的循环操作,其实也叫我们的循环体,有些地方啊,注意听有些人。有人也叫。也叫循环体。循环体就是我们具体要做的事情,就是完成的功能,明白意思吧,比如说上面我们的循环体就是这一句输出语句。
03:02
什么呢?就format print LN,你好,上硅谷这个就是我们的循环操作,虽然很简单,但是呢也是一个操作,下面第五一个呢,我们所说的要素五就是循环变量的迭代。这是。我们的四个要素,四要素如下。对吧,那这个时候我们来再说一下,就是一个for循环,它执行的流顺序是什么样子呢?我给大家说一下执行的顺序,刚才这个是要素对吧,现在是执行的顺序for循环的。For循环。执行的。执行的顺序。分析。好,执行的顺序是怎么执行的呢?我给同学们聊两句。它的顺序应该是这样子的。瑞听。好的,第一第一步首先。
04:01
首先,执行循环变量初始化。先。执行第一步啊,执行循环变量初始化。注意听讲循执行循环变量初始化,比如这里的,比如这里对照上面的图来说,就先执行I。I负了一个一,他先做了这个动作。嗯,循环变量执行循环变量初始化过后,第二步执行什么呢?执行循环条件的判断。就是执行这个循环条件的判断,这个时候大家看一下你现在还能不能满足这个条件,比如说到这里,比如这里的就是什么呢?比如这里就是判断I小不小于十。小不小于等于十,你看他先执行这个不了,值了,I等于一了,先判断呢,I小不小于等于十,如果这个条件成立,第三步如果。
05:03
如果循环条件条件为真。为真就执行什么呢?就执行我们的循环体,就循环操作执执行。循环操作。循环操作。比如说我们这里的循环操作呢,就是这样一句话,就是输出这句话看到没有,诶,比如这里的。比如我们这里面就format.print。Print PT,好,我也不写那么多了啊,就这里面写的什么内容,D是一个部分,当循环条件循环,呃,当如果循环条件为真,就执行循环操作,执行完了过后呢,执行下一步执行我们的什么呢?执行循环变量迭代。追星这句话啊,继续在什么呢,执行。执行什么?执行循环变量迭代。比如说这里的。
06:03
这里就是什么呢?同学们,这里其实就是我们的哀加加。是这意思吧,这里就是我们的A加加,就这么来的,那么执行完这一步过后,下一步又做什么事情呢?同学们注意听,下一步呢,他就又反复的去执行第二步到第十步就是继续反复的执行。反复执行。234步走,直到什么是呢,直到。它直到就是循环条件为甲时,就退出了这一个负循环,直到循环条件。循环条件为假时,为false。复试就。就怎么样,就退出for循环。For循环,这就是我们一个完整的for循环执行顺序的说明,对不对?好,同学们注意一下,就这么一个流程。
07:05
就这么一个流程,那这样讲完过后呢,同学们可能还是有点模模糊糊的,对不对?好,现在呢,我们来看一下for循环的流程图,看这里。我这里呢,再把for循环执行流程分析,以流程图的方式再给大家来分析一遍,注意听讲啊,咱们就分析一次。For循环流程分析。我们还给他一个标题对不对,还给他一个标题,好,接着往下看。接着往下看,那现在呢,我们看一下for循环的流程图。For循环的流程图。把流程图给同学们看一眼。好,把流程图给同学们看一眼,注意听,流程图呢,我这已经画好了,我们来看一看它是怎么样做的。打开我们的for循环流程图。大家在。
08:03
看一下。OK,那么看这里。这个图画的还是比较清晰的,大家看。首先我们的代码。从这里开始执行。它先进行循环变量初始化。放到我们刚才的话,就是I等于一。是不是执行完过后呢,进行这个循环条件的判断。如果为真,注意看这话啊,如果为真。就执行循环操作,我们这循环操作实际上就是输出了一句话,你好胜硅谷,那循环操作执行完了后呢,他回到这里面。继续循环变量迭代,循环变量迭代就是我们这里爱加加还记得吗?好,然后这一方看,所以循环就在这里形成一个小循环,看到没有。就在这里不停的循环,循环循环,但是有一种可能性,就是当我们循环条件为甲的时候,好,如果你的循环条件为甲,就为false了,这个时候就直接终止我们的for循环结束。
09:03
For循环结束过后,继续往下该怎么走,继续走下面还有代码,就执行下面代码,如果下面没有代码了,那相当于说整个程序就执行完毕,明白我的意思吧,所以你看我们这个for循环,只要不为假,它就一不直不停的执行,就是说如果说啊,同学们,如果我们这个循环条件永远不为假,那么你这个地方就是一个死循环,就不停的执行,就在这儿不停的转圈。直到我们这个循环条件为假才会退出,所以说是这么一个流程,大家看能看明白吗?应该说还是比较好懂,对不对,还是比较好好懂,一说就明白了,好,那么我把这个图呢,也给同学们放到笔记里面去加深一个印象。好的,我把它关掉。然后呢,放在笔记里面去加深,音响这块我就不再多说了,好吗?图应该很好理解吧,很好理解。好的,那下面呢,为了在加深大家认识呢,我们这对照这个程序,刚才不是有一段代码吗。
10:05
我们用。用这个程序在内存里面,这个变量在内存里面变化呢,再给大家分析一遍,所以说我再来最后一次的分析,就是分析使用代码。呃,对照啊,对照代码。对照。对照代码分析一下,分析for循环的。For循环的执行过程,来吧,我们来做一个这样的一个操作,这时呢要借助我们的一个图解。好,打开这个图解,同学们看goon讲解示意图啊,我们针对刚才老师写的这段代码来做一个。代码执行和内存是怎么变化的,对照的一个分析,注意听。好,同学们看,我先把代码呢放在这里来。
11:02
OK,好的,假设呢,我说了啊,听我说假设这边是我们的内存。假设这边是我们的内存,听懂了,假设是内存好的,那么假设同学们注意听,假设这个地方是我们的控制台,为了表示它这个控制台呢,我故意用黑色来描述好不好?假设这是我们的控制台,也就也也就说是我们的终端。终端,哎哟,这个颜色还不行,对不对,好呃,那我还是用白色,嗯,那这样子吧,啊就就不用这个颜色了,换个别的颜色,这样呢,老师也省点事,好这样子,假设这是我们的终端。中专。这个终端就是同学们看到的这一块,这个东西就是我们的终端,好了,同学们,我们来分析一下它的执行流程,注意听讲来了,假设我们的代码从这里开始执行了。来,同学们,我在这儿呢。
12:02
我在这儿。这里面有个小问题啊。这个是干啥的?好。好的,呃,我把我把这个图,这个图线呢,换成一个别的颜色。换一个别的颜色,好格式。绿色开始了啊,我们的代码首先把for循环的四要素分析出来,这是第一个要素。我把它标成一个红色线线。这是第一个,这叫循环变量的初始化,这个是我们的循环条件,对不对,这个相当于说是循环条件,第三个呢。这是我们的循环执行语句。后面呢,还有一个同学们看到这个地方是循环变量的迭代,注意听啊,我就分析一次,尤其是我们第一次学编程的同学呢,一定要跟上老师思路,我把它画成了一个两个三个四个好不好,首先第一步呢,先执行I。
13:05
等于一这样一个操作,那在内存里面将会有一个变量I等于一就成立了。二一个变量等于一出现。为了好看,我让框起来。假设有一个I变量,他在内存里面附了一个一,第一句话就执行完了,执行完了第二步该做什么呢?第二步,该执行这个I小不小于等于十,I小于等于十吗?好,成立为真,一旦为真,执行下面这句话。就是输出一句话,这时在我们终端就会看到这么一个输出,你好,上硅谷。注意听啊,现在你你就想你是一台计算机,你的大脑已经是台计算机了。上。双归谷好,这时I等于几,I是不是等于一啊,所以说它有同时把这个一也输出来,输出完了过后,同学们注意看这个时候率该执行哪一步了,执行I加加了,当他执行I加加,我们这个地方呢,就变成二了,这个我不解释了吧,然后紧接着呢又去。
14:06
进行判断,注意它这个做完了过后就要进行这个判断呢,这时I小不小等于十呢,二仍然小于等于十,于是乎这个为真,再继续去执行这句话,这时又在控制台输出了第二句话,你好,三鬼谷二这句话做完了以后呢,又去执行爱加加,于是这个又变成三。对不对,以此类推,这样子的话,同学们想不停的走啊,我这里就四个亿。好,输出三。注意听,输出三输出四好点点点,直到输出九了,注意看,直到输出九了,我们看最关键的地方要来了啊,这块我停一下。输出九,假设这个时候他输出九了,输出九的时候,这个I肯定是等于九,他才会输出九,这个没问题吧,紧接着当他输出完这句话过后呢?好,假如他刚刚输出完,又到这来了,I再加加看效果I等于十。
15:05
那么十小不等于I。等于十小不小于等于十呢,仍然小于,于是乎继续输出最后一句。输出你好上鬼故事。紧接着。他输出了,输出完了过后再去判断看效果了啊,这关键点来了。I继续加加,I加加变成11 11继续判断这个位置,同学们想一想,这个时候I等于多少?I10等于11 11并不小,并不小于等于十,于是乎整个就退出。到下面来了。也就是说这时他就跳出了负循环,或者说结束了负循环都可以,那我问大家一个问题,我问大家一个问题,当我们这个程序结束for循环以后,请问I现在等于多少?是不是等于11啊,也就是说我们可以得出一个结论,当我们这个for循环结束的时候呢,这个I一定是会大于这个十的,因为它不大于这个十,它是一直要在里面循环的,甚至我们可以在证明I最后就应该等于11,是不是这样子的呢?没问题,我们输出来一下。
16:18
我们来证明一下刚才老师的观点,I等于多少呢?应该是等于十一来跑一把。走一个。我们会,诶我们看代码是有问题。哦,这样是有这么一个问题啊,同学们注意听听我说。注意听我说啊,因为你这个I同学们注意听I这个变量是在for循环这里定义的,因此这个I的作用域,注意听I这个变量的作用域只能在for循环这个块里面有效,出了这个块这个I就没无效了,也就是说I的作用域呢,只能在for循环。那你再往右的话,他应该报的是什么错误,他说I没有定义过,看到没有,他说I on depend I,原因就是刚才老师说的,你的I是在这定义的,因此你在for循环用完了过后呢,你是没有办法再用了。
17:11
没有办法说说这个I我在这还输输不出来,那有些有些同学老师你输不出来,你怎么能够帮我测试一下,I确实是等于11的呢。怎么办呢?其实也很简单,同学们啊,如果你一定要看,我也有办法,我可以把这个稍微的改进一下,我可以为了满足你们的这个这个这个愿望,我可以这样子来做一下啊,同学们注意听。我可以把这个I定到上面去。可以的,然后呢。我把这个。删掉老师这样的行不行呢,这样子循环就相当于说我把变量的初始化拿到外面去定义,然后呢,在这for循环里面用,这是可以的。这是可以的,明白吗?就相当于说把I呢放在for循环外面定义,然后呢,在for循环用,用完了过后,我后面下面还可以用这个I变量,能能理解啊,那我这个时候再输出一次。
18:06
好的,我们来看看此时此刻这个I到底等于多少呢?是不是等于老师所分析的十一来执行一把。走起来我们可以看到I的的确确等于11,对不对,没问题吧,跟老师分析的完全一致,好,那我还是把它改回来啊,我们后面再去说,呃,他的这种这种现象,好,我还是把它撤了,其实我就是想证明一下刚才老师分析的for循环执行的流程是怎么回事,主要是给他证明一下这个点,好了,同学们,那现在呢,我们有了这样一个分析,我相信同学们对for循环执行的一个流程应该更加清晰了,好不好?啊,那我把分析的这一段示意图呢,也给同学们拿到笔记里面来。加深一个认识。注意啊,这块是非常重要的一个分析,虽然不是很难,但是确实很重要。来吧,我的放到这里来。
19:03
加深认识。好的,同学们,那关于for循环的基本语法和它的流程图以及执行的流程分析呢,我们就先介绍到这里,待会儿呢,我们就来开始讲解负循环的细节。
我来说两句