首頁>Club>
3
回覆列表
  • 1 # 使用者593346140841628

    VB 迴圈語句

    一、Do...Loop 語句

    當條件為 True 時,或直到條件變為 True 時,重複執行一個語句塊中的命令。

    語法

    Do [{While | Until} condition]
    [statements]
    [Exit Do]
    [statements]

    Loop

     

    或者可以使用下面這種語法:

    Do
    [statements]
    [Exit Do]
    [statements]

    Loop [{While | Until} condition]

    Do Loop 語句的語法具有以下幾個部分:

    部分描述condition可選引數。數值表示式或字串表示式,其值為 True 或 False。如果condition 是 Null,則 condition 會被當作 False。statements一條或多條命令,它們將被重複當或直到 condition 為 True。

     

     

    說明

    在 Do...Loop 中可以在任何位置放置任意個數的 Exit Do 語句,隨時跳出 Do...Loop 迴圈。Exit Do 通常用於條件判斷之後,例如 If...Then,在這種情況下,Exit Do 語句將控制權轉移到緊接在 Loop 命令之後的語句。

    如果 Exit Do 使用在巢狀的 Do...Loop 語句中,則 Exit Do 會將控制權轉移到 Exit Do 所在位置的外層迴圈。

    Do...Loop 語句示例

    本示例示範如何使用 Do...Loop 語句。內層的 Do...Loop 語句迴圈到第 10 次時將標誌值設定為 False,並用 Exit Do 語句強制退出內層迴圈。外層迴圈則在檢查到標誌值為 False 時,馬上退出。

    Dim Check, Counter Check = True: Counter = 0 ' 設定變數初始值。 Do ' 外層迴圈。 Do While Counter < 20 ' 內層迴圈。 Counter = Counter + 1 ' 計數器加一。 If Counter = 10 Then ' 如果條件成立。 Check = False ' 將標誌值設成 False。 Exit Do ' 退出內層迴圈。 End If Loop Loop Until Check = False ' 退出外層迴圈。

    二、While...Wend 語句

    只要指定的條件為 True,則會重複執行一系列的語句。

    語法

    While condition
    [statements]

    Wend

     

    While...Wend 語句的語法具有以下幾個部分:

    部分描述condition必要引數。數值表示式或字串表示式,其計算結果為 True 或False。如果 condition 為 Null,則 condition 會視為 False。statements可選引數。一條或多條語句,當條件為 True 時執行。

     

     

    說明

    如果 condition 為 True,則所有的 statements 都會執行,一直執行到 Wend 語句。然後再回到 While語句,並再一次檢查 condition,如果 condition 還是為 True,則重複執行。如果不為 True,則程式會從 Wend 語句之後的語句繼續執行。

    While...Wend 迴圈也可以是多層的巢狀結構。每個 Wend 匹配最近的 While 語句。

    提示 Do...Loop 語句提供了一種結構化與適應性更強的方法來執行迴圈。

     

    While...Wend 語句示例

    本示例使用 While...Wend 語句來增加計數變數的值。如果條件判斷值為 True,則迴圈內的語句將一直執行下去。

    Dim Counter Counter = 0 ' 設定變數初值。 While Counter < 20 ' 測試計數器的值。 Counter = Counter + 1 ' 將計數器的值加一。 Wend ' 當 Counter > 19 時則迴圈終止。 Debug.Print Counter ' 在“立即”視窗中顯示數字 20。


    三、For...Next 語句

    以指定次數來重複執行一組語句。

    語法

    For counter = start To end [Step step]
    [statements]
    [Exit For]
    [statements]

    Next [counter]

    For   Next 語句的語法具有以下幾個部分:

    部分描述counter必要引數。用做迴圈計數器的數值變數。這個變數不能是 Boolean 或陣列元素。start必要引數。counter 的初值。End必要引數,counter 的終值。Step可選引數。counter 的步長。如果沒有指定,則 step 的預設值為 1。Statements可選引數。放在 For 和 Next 之間的一條或多條語句,它們將被執行指定的次數。

     

    說明

    step 引數可以是正數或負數。step 引數值決定迴圈的執行情況,如下所示:

    值迴圈執行,如果正數或 0counter <= end負數counter >= end

     

    當所有迴圈中的語句都執行後,step 的值會加到 counter 中。此時,迴圈中的語句可能會再次執行(基於迴圈開始執行時同樣的測試),也可能是退出迴圈並從 Next 語句之後的語句繼續執行。

    提示 在迴圈中改變 counter 的值,將會使程式程式碼的閱讀和除錯變得更加困難。

    迴圈中可以在任何位置放置任意個 Exit For 語句,隨時退出迴圈。 Exit For經常在條件判斷之後使用,例如 If...Then,並將控制權轉移到緊接在 Next 之後的語句。

    可以將一個 For...Next 迴圈放置在另一個 For...Next迴圈中,組成巢狀迴圈。不過在每個迴圈中的 counter 要使用不同的變數名。下面的體系結構是正確的:

    For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 ... Next K Next J Next I

    注意 如果省略 Next 語句中的 counter,就像 counter 存在時一樣執行。但如果 Next 語句在它相對應的 For 語句之前出現,則會產生錯誤。

    For...Next 語句示例

    本示例使用 For...Next 語句建立一個字串,其內容為由 0 到 9 的十個數字所組成的字串,每個字串之間用空格隔開。外層迴圈使用一個變數當作迴圈計數器,每迴圈一次,變數值減一。

    Dim Words, Chars, MyString For Words = 10 To 1 Step -1 ' 建立 10 次迴圈。 For Chars = 0 To 9 ' 建立 10 次迴圈。 MyString = MyString & Chars ' 將數字新增到字串中。 Next Chars ' Increment counter MyString = MyString & " " ' 新增一個空格。 Next Words

  • 中秋節和大豐收的關聯?
  • 怎麼養殖日本對蝦?