java的两种for循环_【For,循环的两种运行机制】 简述java的两种运行机制

北京师范大学出版社2008年版的普通高中课程标准实验教科书《数学》3(必修)第110页介绍了For循环,并在例题4的流程图中说明了for循环的运行机制。  例4 请阅读下列用For语句写出的算法,说明该算法的处理功能。

S=0

T=1

For i=1 To 20

S=S+i

T=T*i

Next

输出S

输出T

流程图:

这里的For循环中,使用的是如下的机制:

1、循环变量赋初值,记录终值及步长值;

2、执行循环体;

3、循环变量加步长值;

4、判断循环变量是否超过终值;若未超过,转至步骤2,执行循环体;若超过,则跳出循环。

我们权且将其称为机制Ⅰ。

框图如下:

实际上,For循环还存在着机制Ⅱ:

1、循环变量赋初值,记录终值及步长值;

2、判断循环变量是否超过终值;若未超过,进入步骤3,执行循环体;若超过,则跳出循环;

3、执行循环体;

4、循环变量加步长值。

5、转到步骤2,进行判断。

框图如下:

两种运行机制的不同处在于先判断还是先执行循环体。

机制Ⅰ是先执行循环体,再进行判断,所以循环体至少要执行一次。而机制Ⅱ则不同,它先进行判断,循环变量未超过终值时则执行循环体,一旦发现循环变量超过终值,立即跳出循环。

下面的Basic程序片段,在不同机制下输出结果就不一样。

For i = 1 To 0 Step 2

Print i

Next i

使用机制Ⅰ的Basic语言,输出:1

这是因为它是先执行循环体,再判断,虽然循环变量的初值已超过了终值,但还是先执行了一次循环体中的语句,所以输出1。

而使用机制Ⅱ的Basic语言,则没有输出。

这是因为它是先判断,发现循环变量的初值已超过终值,于是跳出循环,没有执行循环体中语句,所以没有输出。

早期的Basic语言有使用机制Ⅰ的,但现在流行的编程语言一般都使用机制Ⅱ。教参中的程序是用VB语言编写的。也采用机制Ⅱ。然而课本的解释却使用机制Ⅰ,与所用编程语言不符,所以,建议采用机制Ⅱ。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值