-
vb.net 教程 2-3 流程控制:循环语句 For...Next
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
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 教程 目录
————————————————
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/uruseibest/article/details/64958890
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比