菜鸟科技网

vb中for循环如何正确结束命令?

Next 的作用是:

vb中for循环如何正确结束命令?-图1
(图片来源网络,侵删)
  1. 增加循环计数器:将循环变量(i)的值增加 1(或者您指定的步长)。
  2. 检查循环条件:检查循环变量的值是否已经超过了 For 语句中设定的终值。
  3. 决定是否继续循环:如果循环变量仍在终值范围内,则程序会跳转回 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

执行流程:

  1. i 被初始化为 1。
  2. 执行 Console.WriteLine(...),打印 "1"。
  3. 遇到 Next ii 变为 2。
  4. i (2) 没有超过终值 5,所以继续循环。
  5. ... 重复步骤 2-4,直到 i 变为 6。
  6. i 变为 6 时,Next i 发现 i (6) 已经超过了终值 5,于是循环结束,程序执行 Next i 之后的代码。

示例 2:使用 Step 关键字(指定步长)

这个例子从 10 开始,每次减 2,直到小于等于 0。

vb中for循环如何正确结束命令?-图2
(图片来源网络,侵删)
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 语句之后的代码继续执行。

vb中for循环如何正确结束命令?-图3
(图片来源网络,侵删)

示例 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
分享:
扫描分享到社交APP
上一篇
下一篇