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 =>进入下次循环
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 = 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 教程 目录