一、For...Next循環(huán) Beep Beep Beep Beep 上面的循環(huán)中使用的變量是字母“i”,這是個(gè)習(xí)慣用法,它表示For...Next循環(huán)中的整型計(jì)數(shù)器。循環(huán)每執(zhí)行一次,該計(jì)數(shù)器變量增加1(第一次執(zhí)行循環(huán)時(shí),該變量的值為1,也就是“start”指定的初值:最后一次執(zhí)行循環(huán)時(shí),該變量的值為4,也就是“end”指定的終值)。 二、Do循環(huán) Do [{While|Until} condition] statements [Exit Do] Loop 或 Do statements [Exit Do] statements Loop [{While|Until} condition] 如果條件為“Null”,則這個(gè)條件被認(rèn)為是“False”。例如,下面的“Do”循環(huán)重復(fù)處理用戶輸入,直到用戶鍵入單詞“Done”時(shí)為止。 Do While InpName<>"Done" inpName=InputBox("Enter your name or type Done to quit.") If inpName<>"Done" Then Label1.Text=inpName End If Loop 注意:測(cè)試條件的放置位置影響Do循環(huán)的執(zhí)行方式。這個(gè)循環(huán)中的條件是InpName<>"Done",Visual Basic編譯器把這個(gè)條件翻譯成“只要InpName變量的值不等于單詞“Done”,就一直執(zhí)行該循環(huán)語句”。這表明:當(dāng)Do循環(huán)第一次執(zhí)行時(shí),如果循環(huán)項(xiàng)部的條件值不是True,那么Do循環(huán)中的語句就不會(huì)執(zhí)行。對(duì)上面的示例來說,如果在循環(huán)開始執(zhí)行之前(可能在事件過程中使用某個(gè)賦值語句進(jìn)行賦值),InpName變量的值等于字符串“Done”,那么Visual Basic將跳過整個(gè)循環(huán)體,并在Loop語句后面的語句繼續(xù)執(zhí)行。需要注意的是,這種格式的Do循環(huán)需要在循環(huán)體中寫上一條If...Then語句,以避免用戶鍵入的退出值顯示出來。如果希望程序中的循環(huán)體至少執(zhí)行一次,那么把條件放置在循環(huán)的尾部,例如: Do Until InpName=InputBox("Enter your name or type Done to quit.") If InpName<>"Done" Then Label1.Text=InpName Loop While InpName<>"Done" 這個(gè)循環(huán)與前面介紹的Do循環(huán)相似,但是,這里的循環(huán)條件在接收了InputBox函數(shù)中的姓名后進(jìn)行測(cè)試。這種循環(huán)方式的優(yōu)點(diǎn)是在測(cè)試循環(huán)條件前更新變量InpName的值,這樣,即使InpName在進(jìn)入循環(huán)前的值為“Done”,也不會(huì)直接退出循環(huán)。在循環(huán)的尾部測(cè)試條件保證了循環(huán)體至少執(zhí)行一次,但是,一般來說,這種格式的循環(huán)體中往往要增加一些額外的數(shù)據(jù)處理語句。 三、While循環(huán) While condition statements [Exit While] statemenst End While 如果條件為Null,則這個(gè)條件被認(rèn)為是False,如果條件為True,則所有的語句將被執(zhí)行,直到End While,這時(shí)候控制權(quán)返還給While,condition再次被檢查,如果condition為True,則繼續(xù)執(zhí)行While內(nèi)部的語句,如果condition為False,則繼續(xù)執(zhí)行End While后面的語句。下例將說明While循環(huán)的用法: Dim Check As Boolean=True Dim counter As Integer=0 Do 外層循環(huán) While Counter<20 Counter+=1 計(jì)數(shù)器加一 If Counter=20 Then Check=False Exit While 退出內(nèi)層循環(huán) End If End While Loop Until Check 退出外層循環(huán) 四、For Each...Next循環(huán) For Each element in group statements Next element 例如,下面的例子利用For Each...Next循環(huán)來查找所有元素的Text屬性是否為“Hello”: Dim Found As Boolean Dim MyObject,MyCollection As Object For Each MyObject In MyCollection If MyObject.Text="Hello" Then Found=True Exit For End If Next 使用For Each...Next循環(huán)時(shí)的兩點(diǎn)說明: |
聯(lián)系客服