Next 的作用是:

- 增加循环计数器:将循环变量(
i)的值增加 1(或者您指定的步长)。 - 检查循环条件:检查循环变量的值是否已经超过了
For语句中设定的终值。 - 决定是否继续循环:如果循环变量仍在终值范围内,则程序会跳转回
For语句的下一行,继续执行循环体内的代码,如果已经超过终值,则循环结束,程序会执行Next语句之后的代码。
For...Next 循环的基本语法结构
For counter = start To end [Step step]
' 循环体内的代码
' 这些代码会被重复执行
Next [counter]
参数说明:
counter: 循环变量,用来控制循环的次数。start: 循环变量的初始值。end: 循环变量的终值,当counter超过此值时,循环结束。Step step: 可选,每次循环counter增加的值,如果省略,默认步长为 1。Next [counter]: 循环结束的标志。counter是可选的,但加上它能让代码更清晰,尤其是在嵌套循环中。
示例代码
示例 1:最简单的 For...Next 循环(步长为 1)
这个例子会打印从 1 到 5 的所有数字。
For i = 1 To 5
Console.WriteLine("当前数字是: " & i)
Next i
' 输出结果:
' 当前数字是: 1
' 当前数字是: 2
' 当前数字是: 3
' 当前数字是: 4
' 当前数字是: 5
执行流程:
i被初始化为 1。- 执行
Console.WriteLine(...),打印 "1"。 - 遇到
Next i,i变为 2。 i(2) 没有超过终值 5,所以继续循环。- ... 重复步骤 2-4,直到
i变为 6。 - 当
i变为 6 时,Next i发现i(6) 已经超过了终值 5,于是循环结束,程序执行Next i之后的代码。
示例 2:使用 Step 关键字(指定步长)
这个例子从 10 开始,每次减 2,直到小于等于 0。

For j = 10 To 1 Step -2
Console.WriteLine("当前数字是: " & j)
Next j
' 输出结果:
' 当前数字是: 10
' 当前数字是: 8
' 当前数字是: 6
' 当前数字是: 4
' 当前数字是: 2
注意: 当 j 变为 0 时,循环已经结束,0 不会被打印。
示例 3:嵌套循环与 Next 的使用
在嵌套循环中,使用 Next 后面跟上变量名是一个非常好的编程习惯,可以清晰地表明哪个 Next 对应哪个 For。
For outer = 1 To 3
Console.WriteLine("外层循环: " & outer)
For inner = 1 To 2
Console.WriteLine(" 内层循环: " & inner)
Next inner ' 这个 Next 结束内层循环
Next outer ' 这个 Next 结束外层循环
' 输出结果:
' 外层循环: 1
' 内层循环: 1
' 内层循环: 2
' 外层循环: 2
' 内层循环: 1
' 内层循环: 2
' 外层循环: 3
' 内层循环: 1
' 内层循环: 2
提前结束循环:Exit For
虽然 Next 是循环的自然结束点,但有时您可能需要在满足某个条件时立即跳出整个循环,而不是等到循环变量达到终值,这时就需要使用 Exit For 命令。
Exit For 会立即终止当前 For...Next 循环的执行,并跳转到 Next 语句之后的代码继续执行。

示例 4:使用 Exit For
这个例子会查找数组中第一个负数,找到后就立即停止循环。
Dim numbers() As Integer = {10, 25, 3, 88, -5, 42, 19}
Dim foundNegative As Boolean = False
For i = 0 To numbers.Length - 1
If numbers(i) < 0 Then
Console.WriteLine("找到第一个负数: " & numbers(i) & ",其索引为 " & i)
foundNegative = True
Exit For ' 找到后立即退出循环
End If
Next i
If Not foundNegative Then
Console.WriteLine("数组中没有负数。")
End If
' 输出结果:
' 找到第一个负数: -5,其索引为 4
| 命令 | 作用 | 位置 |
|---|---|---|
Next |
循环的自然结束点,增加计数器并检查是否继续循环。 | 放在循环体的末尾。 |
Exit For |
强制、立即退出循环,用于满足特定条件时跳出循环。 | 放在循环体的 If 或其他条件判断语句内部。 |
- 想让循环正常结束,就让它运行到
Next。 - 想让循环提前结束,就在循环体内使用
Exit For。
