详细了解:使用 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 窗体项目随即打开。
将一个“文本框”控件和一个“按钮”控件从“工具箱”中拖动到窗体上。
双击该“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 语句。