按键精灵中的 for 循环 对 易语言中的 变量循环首
由上图可以看出: 易语言中的变量循环首中的英文写法,对应的就是按键精灵中的for循环!
2.接下来我们来分析一下他们的相同和不同之处:
废话不多说,我们先看下图:
按键精灵中的1对应的就是易语言中的参数1中的变量起始值,10对应的就是参数2中的变量目标值,i对应的就是参数4中的循环变量, "step 1" 在按键精灵中意思为步长是1,每次i的值
都递增1,在易语言中对应的是参数3中的变量递增值
看到这里童靴们是不是觉得很一样,没错,他们确实一样
那他们有什么不同之处呢? 请各位看官仔细看了
首先我们来看一下易语言中的变量循环首
这里我在循环体内稍等做了一下改动.我把变量i的值赋值为5.这时候大家试想一下,这个循环到底能循环几次呢.... 没错! 是10次 ,一共输出10次5, 虽然我们在循环内改变了i的值,但是当第一次循环结束后, i的值会自动变成2. 因为它的递增值为1,并且它不会因循环内部i的值改变而改变,言下之意就是说,虽然内部每次i的值都为5,但是每次遇到循环首,i的值都会递增1.这都是内部已经规定好了的.无论我们怎么在循环内改变这个值.一遇到循环首,他都无法把改变的值保存下来哦!
如下图所示:
3. 接下来我们在来看一下按键精灵中的for循环是不是也是相同如此哦?
我们来看下图:
图上所示: for循环从1,递增到10 ,步长为1
第一次进入for循环.i的值被赋值为5, 调试输出 i 的值,第一次循环结束
第二次进入for循环,(大家注意了),这时候i的值已经为5了哦.5加上步长1为6,当进入循环内的时候,i 的 值已经为6了.遇到第2行的赋值 i=5 ,这时候i被重复赋值为5,第2次的循环结束
第三次如上,第四次如上...
那么按键精灵中的for循环也是输出10次5吗???
嘿嘿!!! 如果你认为在按键精灵中也是输出10次5,那么你就错了哦!
上图在按键精灵中将进入一个死循环,这是为什么呢?
这里大家要注意了:
我们以上图为例分析: 在按键精灵中,i的起始值为1,目标值为10,步长为1
第一次来到循环首,i的值等于1,注意:这个时候它并没有马上进入循环体内,而是跟目标值10做了一下对比.只有i小于这个目标值的时候,它才能进入循环体内哦,也就是说一但i的值大于了目标值,那么这个循环将无法进入!
好了,既然我们知道了他的这个规律之后,我们在来看一下for循环在按键精灵中是如何循环的,
如图所示:
第1次,进入循环前,i的值为1, 1小于目标值10,条件成立,进入循环.i被赋值为5
第2次,进入循环前.i的值为5,加上步长1,i的值为6, 6小于目标值10 ,条件成立,进入循环,i被同样赋值为5.
第3次. 重复第2次的过程 (因为同样满足i的值6小于目标值10这个条件)
第4次. 重复第3次的过程(...)
第n次. 重复第n-1的过程(...)
好了,让我们来验证一下结果到底是不是如此呢?
如下图:
好了,到这里大家是不是对for循环在按键精灵中和易语言中有了一个比较清晰的认识呢
注意:(在易语言中,无论是变量循环,还是计次循环, 循环首内的变量不受在循环体内发生改变而改变,而在按键精灵中恰恰相反哦)
至于在按键精灵中和易语言中的其他循环,我们可以对比来看一下:
按键精灵中的DO..Loop循环,它是没有任何条件都可以进入循环. 它可以对应易语言中的
判断循环 或, 循环判断首 .我们只需把条件给真即可
如下图:
按键精灵中带条件的循环,这里以do While... Loop 前置循环为例.它在易语言中对应的是
判断循环首,他们都是先判断,条件成立在进入循环!
如图:
同理: 易语言中的循环判断首就对应按键精灵中 DO..LooP while 后置循环哦
他们的特点都是先循环,在判断,如果条件成立,就接着进入循环.不成立则不进入
如下图:
当然,在按键精灵中,还有诸如其他的循环,比如while ... wend 循环.DO Until...LooP等
如下图:
当然,诸如上图的3种循环,我们使用的概率很小. 因为我们前边所提到的各种循环已经完全可以满足甚至取代这3种循环!!!