大家好,上节介绍过指定次数的循环语句For...Next语句,本节将介绍的是有条件的循环语句Do...Loop系列语句,它又分为两种类似的形式,分别是do while语句和do until语句,掌握一种,另一种就很容易理解,本节先介绍do while语句。
先说明一下do...loop系列共同的特点,作为有条件的循环,顾名思义即do循环重复代码,通过while和until两种方式搭配判定条件决定是否重复循环。
同时在do...loop循环语句中,都可以通过”exit do“语句中途退出循环,通常是if..then语句的嵌套。所以Do...Loop系列语句实际中可以有两个条件分别判定是否结束循环。
do while...loop循环语句
do while...loop语句属于先测试循环条件的语句,首先来看下它的语法结构。
Do While 循环条件表达式
语句序列1
[Exit Do]
[语句序列2]
Loop
语句的语法是先判定是否符合循环的条件,如果符合就执行循环中的语句,否则就结束循环。
同时循环中间,也可以通过嵌套if..then等判断语句来判断是否执行exlt do语句来退出循环。下面举例如下图所示。
下面将代码展示出来,然后分开介绍。
Sub test()
Dim i, j As Integer
i = 0
j = 0
Do While i < 10
i = i + 1
j = j + i
If j > 15 Then
Exit Do
End If
Debug.Print "循环次数" & i, j
Loop
End Sub
1、创建过程、声明变量
sub创建过程,声明变量i和j为整形变量,同时在循环之前给他们赋值为常数0。(注意是在循环结构之前先赋值。)
2、do while 循环
代码中的主要部分就是do while循环,while循环的条件是i<10。即循环开始时先判定是否符合循环的条件i<10,符合就执行下面的循环语句,包括i=i+1 、 j=j+i和Debug.Print "循环次数" & i, j 三个语句。否则退出循环。
注意循环条件一定要保证可以最后结束,i如果一直都<10,程序会一直运行,只能通过ESC键来停止。
3、i=i+1累加循环次数
代码中变量 i 赋值为常数0,每循环一次就累加1。循环结束后i的最终值就是循环的次数。
如果改变加的数值,也可以形成其他的等差数列,比如变量i初始值为0,i=i+2循环后就可以形成一个等差数列,
同样也可以再用其他变量比如k=数值*i 来获得等比数列,这些数值都是可以利用。
4、exit do语句
exit do主要通过if...then判断语句的嵌套,从而实现在语句中途可以按条件判定是否退出循环。示例中如果J>15即可退出循环。
do ...loop while 循环语句
介绍过先判定循环条件的语句后,下面将while循环条件放再loop之后,即另一种演化结构--后判断循环条件的语句,语法结构如下:
Do
语句序列1
[Exit Do]
[语句序列2]
Loop Whilie 循环条件表达式
语句结构类似,只是改变了while循环条件的位置,程序运行时无论是否五河条件都会先循环一次,再判定是否符合循环条件来继续循环。
将上面的示例修改演示,下面在loop后加while<0 条件。
可以看到循环的条件设定为<0,即使i=0不符合该条件,代码运行时也会先循环一次,再判定不符合<0的条件,从而不再执行循环。
知 识 点
do while语句判定的是进行循环的条件。
while循环条件两种位置本质就是先判定还是后判定的区别,根据实际需要来应用。
exit do可以通过判断语句嵌套来判定是否退出循环。
通过初始变量值如i=0,然后i=i+1来获得循环次数。
本节介绍了do while语句,下一节将介绍do...loop系列循环语句中的do until语句,两种结构雷同,掌握一种后,另一种很容易理解。祝大家学习愉快。
本文分享自 Excel和Access学习笔记 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!