For 循环

文章目录
  1. 1. 功能
  2. 2. 语法
  3. 3. 参数
  4. 4. 返回值
  5. 5. 示例
  6. 6. 备注

功能

循环语句。可以循环指定次数,也可以按照变量的起始数值到终止数值循环(如果不指定步长数值,默认步长为1),也可以循环取得数组或表中的所有值。

语法

语法1
1
2
3
For 循环次数
循环体
Next
语法2
1
2
3
For 变量 = 起始数值 To 中止数值[ Step 步长数值]
循环体
Next
语法3
1
2
3
For Each [键名, ]键值 in
循环体
Next

参数

参数 数据类型 解释
循环次数 整数型 循环执行的次数。
循环体 代码块 任意有效的代码语句块。
变量 标识符 任意有效变量名,存放循环变量,可以不用定义。
起始数值 整数型 循环变量的起始值。
中止数值 整数型 循环变量的中止值。
步长数值 整数型 可选参数,循环变量每次改变的差值。
键名 标识符 可选参数,任意有效变量名,存放表的键名,可以不用定义。
键值 标识符 任意有效变量名,存放数组元素值或表的键值,可以不用定义。
数组型或表 任意有效数组名或表。

返回值

示例

例子1
1
2
3
4
//固定循环10次
For 10
TracePrint "正在循环……"
Next
例子2
1
2
3
4
5
6
Dim i
//递增循环,步长默认为1,每次循环i都加1,直到退出
For i = 0 To 9
TracePrint "正在循环中,i=", i
Next
TracePrint "循环结束,i=", i
例子3
1
2
3
4
5
6
Dim i
//递增循环,步长为2,每次循环i都加2,直到退出
For i = 0 To 9 Step 2
TracePrint "正在循环中,i=", i
Next
TracePrint "循环结束,i=", i
例子4
1
2
3
4
5
6
Dim i
//递减循环,步长为-1,每次循环i都减1,直到退出
For i = 9 To 0 Step -1
TracePrint "正在循环中,i=", i
Next
TracePrint "循环结束,i=", i
例子5
1
2
3
4
5
6
Dim s, Arr
Arr = Array("你好", "欢迎来到", "紫猫编程学院")
//遍历数组中的每个元素,直到退出
For Each s In Arr
TracePrint "数组元素值:", s
Next
例子6
1
2
3
4
5
6
Dim k, v, t
t = {"a":"你好", "b":"欢迎来到", "c":"紫猫编程学院"}
//遍历表中的键名与键值并输出,注意表是无序的,所以输出是打乱的
For Each k, v In t
TracePrint "键名:", k, ", 键值:", v
Next
例子7
1
2
3
4
5
6
7
8
9
10
Dim i
//条件成立时,退出循环,For Each也可以使用Exit For命令
For i = 0 To 9
TracePrint "正在循环中,i=", i
If i = 5 Then
TracePrint "退出当前循环"
Exit For
End If
Next
TracePrint "循环结束,i=", i
例子8
1
2
3
4
5
6
7
8
9
10
11
Dim i
//使用Goto跳过某次循环,实现高级语言中的continue功能
For i = 0 To 9
TracePrint "正在循环中,i=", i
If i = 5 Then
Goto 跳过循环
End If
TracePrint "本轮的 i =", i
Rem 跳过循环
Next
TracePrint "循环结束,i=", i

备注

  • For循环通常是用于表示有限次数循环,故最好避免将步长设置为0或者在循环体中改变循环变量的值。
  • 注意,Exit For只能退出离它最近的当前For循环。