詳述:使用 Do...While 和 Do...Until 重複動作直到符合特定條件為止
更新:2007 年 11 月
在本課程中,您將學習如何使用 Do...While 和 Do...Until 陳述式,根據特定條件重複執行程式碼。
在上一個課程中,您學會如何使用 For...Next 陳述式,依指定的次數,針對某個程式碼區塊執行迴圈。但是如果程式碼必須重複的次數因特定條件而有所不同時,要怎麼辦?Do...While 和 Do...Until 陳述式可以讓您在特定條件為 True 時重複一段程式碼,或是重複一段程式碼直到特定條件成為 True 為止。
例如,假定您有程式要讓一連串數字相加,但是您永遠都不要數字的總和超過 100。此時您就可以使用 Do...While 陳述式執行相加作業,如下所示:
Dim sum As Integer = 0
Do While sum < 100
sum = sum + 10
Loop
在此程式碼中,Do While 行會評估變數 sum,以查看是否小於 100:如果是,就會執行下一行程式碼,如果不是,就移到 Loop 之後的下一行程式碼。Loop 關鍵字會命令程式碼回到 DoWhile 行,然後評估 sum 的新值。
試試看!
若要使用 Do...While 陳述式
在 [檔案] 功能表上,按一下 [新增專案]。
在 [新增專案] 對話方塊中,按一下 [範本] 窗格中的 [Windows 應用程式]。
在 [名稱] 方塊中,輸入 DoWhile,再按 [確定]。
會開啟新的 Windows Form 專案。
從 [工具箱] 中,將一個 [TextBox] 控制項和一個 [Button] 控制項拖曳到表單上。
按兩下 [按鈕],開啟 [程式碼編輯器]。
在 Button1_Click 事件處理常式中,輸入下列程式碼:
Dim sum As Integer = 0 Dim counter As Integer = 0 Do While sum < 100 sum = sum + CInt(Textbox1.Text) counter = counter + 1 Loop MsgBox("The loop has run " & CStr(counter) & " times!")
請按 F5 執行程式。
在文字方塊中輸入數字,然後按一下按鈕。
訊息方塊隨即出現,顯示該數字自行相加多少次,才會到達 100。
按一下 [偵錯] 功能表上的 [停止偵錯] 以結束程式。讓專案保持開啟。我們即將加入其他項目。
Do...Until 陳述式
Do...While 陳述式在條件維持為 True 時會重複執行迴圈,但有時您可能想要程式碼自行重複,一直到條件變成 True 為止。此時您就可以使用 Do...Until 陳述式,如下所示:
Dim sum As Integer = 0
Do Until sum >= 100
sum = sum + 10
Loop
這段程式碼類似 Do...While 陳述式的程式碼,但是這次程式碼會評估 sum 變數,以查看是否等於或大於 100。
試試看!
這個程序是在「若要使用 Do...While 陳述式」結束時開始。如果您尚未完成「若要使用 Do...While 陳述式」,請先完成再繼續。
若要使用 Do...Until 陳述式
將下列程式碼加入至 MsgBox 行之下。
Dim sum2 As Integer = 0 Dim counter2 As Integer = 0 Do Until sum2 >= 100 sum2 = sum2 + CInt(Textbox1.Text) counter2 = counter2 + 1 Loop MsgBox("The loop has run " & CStr(counter2) & " times!")
請按 F5 執行程式。
在文字方塊中輸入數字,然後按一下按鈕。
第二個訊息方塊隨即出現,顯示該數字自行相加多少次,才會等於或大於 100。
後續步驟
在本主題中,您學會如何使用 Do...While 和 Do...Until 迴圈,條件式地重複執行程式碼。現在,您可以繼續進行下一個課程:讓您的程式在兩種可能性之間選擇:If...Then 陳述式。
請參閱
工作
讓程式重複相同動作:利用 For...Next 迴圈進行迴圈處理