vb.net 教程 2-5 流程控制:循环语句 Do...Loop 2

继续学习 Do...Loop

我们来看以下代码

        Dim i As Integer = 0
        do while i = 1
            Console.WriteLine("输出:" & i)
            i += 1
        Loop
        Console.WriteLine("最终输出i:" & i)

        Console.WriteLine("==========")
        i = 0
        Do
            Console.WriteLine("输出:" & i)
            i += 1
        Loop While i = 1
        Console.WriteLine("最终输出i:" & i)

区别是While i=1的位置不同。
那么结果呢?

结果也很大的不同。我来分析一下:

第一次:i=0,由于循环条件是i=1,不符合循环的条件,所以,循环体内的语句没有执行。直接跳出循环,执行第一次的最终输出i。

第二次:i=0,由于执行语句块,所以输出了"输出0",然后i=1,符合循环条件,再次循环,输出了“输出1”,然后i=2,不符合循环条件,执行第二次的最终输出


对应的,看下面的代码,请不要执行:

        Dim j As Integer = 0
        Do Until j = 0
            Console.WriteLine("输出:" & j)
            j += 1
        Loop
        Console.WriteLine("最终输出j:" & j)

        Console.WriteLine("==========")
        j = 0
        Do
            Console.WriteLine("输出:" & j)
            j += 1
        Loop Until j = 0
        Console.WriteLine("最终输出j:" & j)

第一次:j=0,由于j已经是0了,所以,循环体内的语句没有执行,直接跳出循环,执行第一次的最终输出j;

第二次,j=0,由于执行语句块,所以输出了“输出0”,然后j=1,符合循环条件(≠0),再次循环,又是j=2。。。。一直符合循环的条件(≠0),一直运行下去。。。。


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

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

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...