For...Next
按照指定次数反复执行For...Next之间的一系列的语句。
格式
For 变量名 = 初始值 To 结束值 [Step增量值]
语句
Next [变量名]
参数
- 变量名
- 指定要反复代入数据的变量名。此变量一般是整数值,还可以定义为实值变量。
- 默认值
- 在指定的变量中以数值指定循环的最初代入数值。
- 结束值
- 指定表示循环结束的值。检查到该值,将结束For...Next循环,并继续执行Next命令的下一语句。
- 增量值
- 每次执行For...Next循环中的Next语句都指定一次增加变量的值。增量值也可以设为负数,此时,初始值必须大于结束值。如无增量的指定,将自动以“1”增量。可省略。
- 语句
- 如果是有效的SPEL+语句,均可插入到For...Next循环中。
说明
For...Next用于按照指定次数返回循环中的语句。循环的开头是For语句,结尾是Next语句。利用变量对循环内语句执行次数进行计数。
初始值为计数器的最初数值。如果正确地设置了结束值变量和增量值,则可以设置负的数值。
结束值为计数器的最终数值。一达到该值就结束循环,程序控制将转至Next命令的下一命令。
For语句的下一语句将在达到Next命令之后执行。计数器变量(变量名)仅按由增量值指定的值进行增量。如果未设置增量值,计数器将每次增减“1”。
然后,计数器变量(变量名)与最终数值进行比较。如果计数器变量小于或等于最终数值,将重新执行For命令的下一语句。如果计数器变量(变量名)大于最终数值,执行将分支到For...Next循环外,继续执行Next命令的下一命令。
注意
负的增量值
如果增量值指定了负值,由于每次循环都将减少计数器变量的值,所以请设置初始值大于结束值。
Next后的变量名可以省略
可以省略Next后的变量名,但是在有嵌套时记入变量名,将易于了解结构。
从循环退出时的变量值不是结束值。
Function forsample Integer i For i = 0 To 3 Next Print i '显示4 Fend
不使用Exit For的情况下从嵌套结构退出循环时
若重复执行使用Exit For以外的命令(Gosub、Goto、Call命令等)退出循环的程序时,会出现错误2020。如果要在循环中退出,请使用Exit For命令。
空无限循环和类似无限循环的处理,请尽可能与Wait一起使用
空For...Next或类似处理,可能会影响您的系统,请尽可能避免使用。当控制器检测到无限空循环,并判断该处理影响系统,则会发出2556错误 (检测到过剩的循环)。
在执行需要循环的演算,或等待I/O信号时,请在循环处理中执行Wait命令 (例如,Wait 0.1),避免占用CPU。
参阅
Do...Loop
For...Next使用示例
Function fornext
Integer counter
For counter = 1 to 10
Go Pctr
Next counter
For counter = 10 to 1 Step -1
Go Pctr
Next counter
Fend