控制流程语句进行循环
语法
Do [ { Until | While } condition ]
[ statement block ]
Loop
or
Do
[ statement block ]
Loop [ { Until | While } condition ]
说明
Do语句执行以下
statement block 中的语句,直到
condition (如果有的话)计算结果为true。
如果使用
Until,当
condition 评估为true时,
Do语句将停止重复
statement block .
While关键字具有相反的效果,如果
condition 评估为false,则停止循环。如果
condition 和
Until或
While都被省略,
Do语句将无限期循环。
如果在
statement block 内遇到
ExitDo语句,则循环将被终止,并在封闭的
Loop语句之后立即恢复执行。如果遇到
ContinueDo语句,则会跳过
statement block 的其余部分,并在
Do语句中继续执行。
在第一个语法中,当首次遇到
Do语句时检查
condition ,如果符合
condition ,则将跳过
statement block .在第二个语法中,
condition 最初被选中
after ,
statement block 被执行。这意味着
statement block 始终保证执行一次
at least .
condition 可以是计算为False(零)或True(非零)的任何有效表达式。
例子
在这个例子中,
Do循环用于将奇数的总数从1到10进行计数。将重复
until ,其
n > 10 条件得到满足:
Dim As Integer n = 1 ''要检查的号码
Dim As Integer total_odd = 0 ''运行总数奇数
Do Until( n > 10 )
If( ( n Mod 2 ) > 0 ) Then total_odd += 1 ''如果n是奇数,则添加到总数(剩余数除以2)
n += 1
Loop
Print "总奇数:" ; total_odd '' prints '5'
End 0
在这里,使用无限DO循环来计数总数。我们通过
If...Then语句将循环中的条件检查放置在
n > 10 成为真时退出循环:
Dim As Integer n = 1 ''要检查的号码
Dim As Integer total_even = 0 ''运行总数偶数
Do
If( n > 10 ) Then Exit Do '' exit if we've扫描了我们的10个数字
If( ( n Mod 2 ) = 0 ) Then total_even += 1 ''如果n是偶数,则加上总数(没有余数除以2)
n += 1
Loop
Print "总偶数:" ; total_even '' prints '5'
End 0
方言差异
与QB差别
参考