Do...Loop语句
Do...Loop语句比For...Next语句更加灵活,因为它既可以在循环的开始,也可以在循环的结尾测试条件。
Do...Loop语句有两种形式,分别为:
Do
While 条件和:
Do
两者的差别是第二种形式会至少执行一次代码,因为它是在执行完代码后再比较条件,而第一种形式是先比较条件,条件符合再执行代码。
例如,求 1 + 2 + 3 +... + 100的和:
Dim
Sum As Integer注意,For...Next中,计数器变量是根据步长设置自动增加的,而在Do...Loop中,需要自行编写代码来改变计数器变量的值(粗体代码部分),否则程序将处于死循环之中。
如果要累加1到100之间的偶数,那么代码应该是:
Dim
Sum As Integer在循环过程中,如果提前退出循环,可以用Exit Do语句,例如:
Dim
Sum As Integer上面的代码实际上只是求得1到50的累计值,因为在i大于50的时候退出了循环。
如果在满足指定条件的时候,不执行循环代码,而是直接进行下一次循环,可以用Continue Do语句,例如对于下面的 代码:
Dim
Sum As Integer上面的代码累加了1到100之间的奇数,因为碰到偶数,就直接进行下一次循环,而没有累加到变量Sum中。
累加1到100之间的奇数,更合理的方法是:
Dim
Sum As Integer循环变量i的初始值为1,每次循环之后,i的值加2。