AS3基础教程-第9课-for循环浅议

2026-03-24 13:38:10

1、打开flashCS6,新建一个AS3.0的flash文档,按F9键之后,准备写代码

2、什么是循环:

循环就是反复的执行重复性的劳作。

举个例子:要计算1+2+3+4+5+.....+100的结果

如果将完整的算式写出来,非常的费事、费力。

要命的是,有的时候,算数的个数还不确定,或者算数的个数超级大(几千个)。

循环就是为了解决这种窘况而开设的。

3、for循环的书写格式:

for(A;B;C){

D

}

A是循环的初始值,B是循环满足的条件,C是递增或递减语句,D是循环体

特别强调:ABC之间用分号隔开!不是逗号!

当满足B的条件时,就执行一次D语句,然后执行C语句以更改变量的值;然后再判断是否满足B条件,如此重复下去,直到B条件不满足(不会执行D语句,也不会再执行C语句),就直接结束循环。

如果B条件无法实现不满足的状态,循环就会一直进行下去,这种现象叫做 死循环,是必须避免出现的情况。

4、例1,输出1到10共10个数字:

for(var i:uint=1;i<=10;i++){

trace(i)

}

非常的简单!对照着我给的公式:

A:var i:uint=1   

B:i<=10   

C:i++   

D:trace(i)

A是规定一个初始值,这里定义了一个名为i的uint数字类型的变量,并设置初始值为1

B是需要满足的条件,这里规定的条件是i的值不超过10

C是递增或递减语句,这里是递增语句,每次循环时都让i的值+1

D是循环体,这里是输出i的值

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

这里介绍一下其运作的过程:

首次进入本循环,设定一个i,并赋初始值为1

<1>第一次循环,i是1,满足B条件,所以执行D语句(在输出面板输出i的值1),然后,执行C语句(C执行后,i的值变为2)

<2>第二次循环,i是2,满足B条件,所以执行D语句(在输出面板输出i的值2),然后,执行C语句(C执行后,i的值变为3)

<3>第三次循环,i是3,满足B条件,所以执行D语句(在输出面板输出i的值3),然后,执行C语句(C执行后,i的值变为4)

........

<10>第十次循环,i是10,满足B条件,所以执行D语句(在输出面板输出i的值10),然后,执行C语句(C执行后,i的值变为11)

<11>第十一次循环,i是11,不满足B条件,直接退出整个循环!循环结束!相当于只循环了十次!

5、例2:计算1到100 共100个数字的和:

var sum:uint=0

for(var i:uint=1;i<=100;i++){

sum+=i

}

trace(sum)

输出结果是5050,非常的简洁、高效!这就是循环的魅力,可以将繁复的重复性劳作用超级简洁的代码呈现。

分析一下本例:

首先,定义一个sum变量,用于存储两个数字的和,其初始值为0,意思是没有相加。

然后,用for循环,循环100次!每一次执行的语句是让sum的值等于 sum+i

第一次循环后,sum的值为0+1,也就是1【i的值变为2】

第二次循环后,sum的值为1+2,也就是3【i的值变为3】

第三次循环后,sum的值为3+3,也就是6【i的值变为4】

第四次循环后,sum的值为6+4,也就是10【i的值变为5】

第五次循环后,sum的值为10+5,也就是15【i的值变为6】

以此类推,每一次循环都是将上一次循环结束后的sum的值+上一次结束后i的值

需要注意一个细节:本例和上例有一点不同,上例中的trace语句在循环体内,所以测试影片后,会看到多个输出的结果。而本例中的trace在循环体外,所以只有一个输出的结果。请仔细对比两例的细节差异。

6、例3:计算数字10的阶乘

自然数n(不含数字0)的阶乘的计算方法:

n=(n-1)(n-2)(n-3).....1

看下图,是使用系统自带的计算器运算的结果。阶乘的符号是叹号,10的阶乘的计算方法是:

10!=10×9×8×7×6×5×4×3×2×1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AS3代码如下:

var jc:uint=1

for(var i:uint=1;i<=10;i++){

jc*=i

}

trace(jc)

输出结果与计算器的一样。请大家自行分析本例的运算过程,认真体会for循环的强悍与逆天

AS3基础教程-第9课-for循环浅议

7、补充说明:

for循环还有其它两种形式:

for in 和 for each in

由于牵扯到的数据类型我还未介绍,故此在这里不予说明。

猜你喜欢