Skip to content

For...Next

重复执行语句块,直到指定的值超出范围。

语法:For counter = start To end [ Step step ]     [ statements ]     [ Continue For ]     [ statements ]     [ Exit For ]     [ statements ] Next [ counter ]

counter : 必需。用作循环计数器的数值变量。counter参数不能是Boolean或数组元素。

start : 必需。counter的初始值。

end : 必需。counter的最终值。

step : 可选。counter每次增加的量。如果未指定,则step默认为1。

statements : 可选。在ForNext之间的一个或多个语句,对counter的每个值执行。

For...Next语句的语法包含以下部分:

For...Next语句通过使用计数器重复语句块,每次重复时将计数器的当前值与结束值进行比较。第一次输入循环时,start被分配给counter。每次重复时,counter都会增加step的值,然后与end进行比较。如果counter大于end(或小于end,如果step为负),则Next语句将控制权转移到紧跟在Next后面的语句。否则,循环内的语句将执行。

如果在循环内更改counter的值,将使循环的执行更加复杂,并可能导致意外的结果。

如果要在循环中跳过一次迭代,请在For...Next语句中使用Continue For语句。

如果要在满足特定条件时退出循环,请在For...Next语句中使用Exit For语句。

可以在For...Next语句中嵌套最多64个For...Next循环。但是,每个Next语句必须引用前面的For语句中声明的计数器变量。如果在嵌套的For...Next循环中包含counter参数,则应指定最内层的counter

示例

此示例显示如何使用For...Next语句。

vb
Sub ForNextExample()
    Dim Counter As Integer

    For Counter = 1 To 10
        MsgBox "计数器值: " & Counter
    Next Counter
End Sub

使用Step

可以使用Step关键字指定计数器每次增加的量:

vb
Sub ForStepExample()
    Dim Counter As Integer

    ' 每次增加2
    For Counter = 2 To 20 Step 2
        MsgBox "偶数: " & Counter
    Next Counter

    ' 使用负Step递减
    For Counter = 10 To 1 Step -1
        MsgBox "倒计时: " & Counter
    Next Counter
End Sub

嵌套循环

可以在For...Next语句中嵌套其他循环:

vb
Sub NestedForExample()
    Dim i As Integer, j As Integer

    For i = 1 To 3
        For j = 1 To 3
            MsgBox "i = " & i & ", j = " & j
        Next j
    Next i
End Sub

NOTE

当在For...Next循环内使用Exit For时,控制将立即转移到紧跟在Next语句后面的语句。

twinBASIC及其LOGO版权为作者"韦恩"所有