vb.net 教程 2-3 流程控制:循环语句 For...Next 1

版权声明:本文为博主原创文章,转载请显著位置标明出处,未经博主允许不得用于商业目的。 https://blog.csdn.net/UruseiBest/article/details/64958890
For...Next 语句用于执行重复操作

最简单的结构:
For 初始值 To 结束值
  执行语句块
Next

例如下面的代码:
    Sub Main()
        Dim i As Integer
        Dim s As Integer = 0
        For i = 1 To 100
            s += i
        Next
        Console.WriteLine("1-100相加结果为:" & s)
        Console.ReadKey()
    End Sub

执行结果:

做一下说明:
For i = 1 To 100 =>指定i的初始值为1,结束值为100,实际需要循环100次
s += i           =>s的值加上i的值,这样整个循环类似于 0+1+2+...+100
Next          =>进入下次循环

另外:
        Dim i As Integer
        For i = 1 To 100
可以简化到一句代码:
        For i As Integer = 1 To 100

for循环中一个重要的语句 Continue For,它的出现使得for循环提前进入下一次
例如,下面的代码:
    Sub Main()
        Console.WriteLine("输出10-30中的偶数")
        For i As Integer = 10 To 30
            If i Mod 2 = 1 Then Continue For
            Console.WriteLine(i)
        Next
        Console.ReadKey()
    End Sub

代码中如果是奇数则进入下一个数,如果是偶数,则执行输出。也就是跳到了下一个数字。结果如下:

for循环另外一个重要的语句 Exit For,它的出现使得for循环提前结束,
参考以下代码:
    Sub Main()
        Console.WriteLine("当值为20时,停止输出")
        For i As Integer = 10 To 30
            If i = 20 Then Exit For
            Console.WriteLine(i)
        Next
        Console.ReadKey()
    End Sub
当i=20时候,就停止了输出。运行结果如下:


循环的嵌套:一个循环内可以有一个或多个循环,每个循环内斗可以有一个或多个循环:
考虑以下例子:
对一组数按照由小到大的顺序进行排序:
    Sub Main()
        '需要排序的数字在数组内
        Dim source() As Integer = {32, 12, 44, 43, 79, 1, 10, 65, 21, 53}
        '对循环次数进行计数
        Dim counti As Integer = 0

        Dim i As Integer
        Dim j As Integer

        Dim tmp As Integer

        '循环
        For i = 0 To 8
            '嵌套循环
            For j = 0 To (8 - i)
                '循环次数+1
                counti += 1
                '如果前面那个数大于后面那个数,就把前面那个数排到后面
                If source(j) > source(j + 1) Then
                    tmp = source(j)
                    source(j) = source(j + 1)
                    source(j + 1) = tmp
                End If
            Next
        Next
        '把数字输出来
        For j = 0 To 9
            Console.WriteLine(source(j))
        Next
        '输出循环次数
        Console.WriteLine("循环次数:{0}", counti)
        Console.ReadKey()
    End Sub
运行结果:

对于最外面的For,第一次循环,把79排到了最后面,第二次循环把65排到了倒数第二,。。。。
在看循环次数,
i=0 ,j循环9次
i=1 ,j循环8次
。。。。。。
i=(9-1),j循环1次
9+8+7.。。。+1=45次


由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看 vb.net 教程 目录




阅读更多

没有更多推荐了,返回首页