<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 控制流 > 原文: [https://zetcode.com/lang/visualbasic/flowcontrol/](https://zetcode.com/lang/visualbasic/flowcontrol/) 在 Visual Basic 教程的這一部分中,我們將討論流控制。 我們將定義幾個關鍵字,使我們能夠控制 Visual Basic 程序的流程。 在 Visual Basic 語言中,有幾個關鍵字可用于更改程序的流程。 當程序運行時,語句從源文件的頂部到底部執行。 逐一。 可以通過特定的關鍵字更改此流程。 語句可以執行多次。 一些語句稱為條件語句。 僅在滿足特定條件時才執行它們。 ## `If`語句 `If`語句具有以下一般形式: ```vb If (expression) statement End If ``` `If`關鍵字用于檢查表達式是否為真。 如果為`true`,則執行一條語句。 該語句可以是單個語句或復合語句。 復合語句由`If/End If`塊包圍的多個語句組成。 ```vb Option Strict On Module Example Dim num As Byte = 31 Sub Main() If (num > 0) Console.WriteLine("num variable is positive") End If End Sub End Module ``` 我們有一個`num`變量。 它被分配為 31。`If`關鍵字檢查布爾表達式。 表達式放在方括號之間。 `31 > 0`為`true`,因此將執行塊內的語句。 ```vb $ ./ifstatement.exe num variable is positive ``` 滿足條件,并將消息寫入控制臺。 ```vb Option Strict On Module Example Dim num As Byte = 31 Sub Main() If (num > 0) Console.WriteLine("num variable is positive") Console.WriteLine("num variable equals {0}", num) End If End Sub End Module ``` 可以在由`If`和`End If`關鍵字創建的塊內執行更多語句。 我們可以使用`Else`關鍵字來創建一個簡單的分支。 如果`If`關鍵字后方括號內的表達式的值為假,則將自動執行`Else`關鍵字后方的語句。 ```vb Option Strict On Module Example Dim sex As String Sub Main() sex = "female" If (sex = "male") Console.WriteLine("It is a boy") Else Console.WriteLine("It is a girl") End If End Sub End Module ``` 我們有性別變量。 它具有`"female"`字符串。 布爾表達式的計算結果為`false`,我們在控制臺中得到`"It is a girl"`。 ```vb $ ./branch.exe It is a girl ``` 我們可以使用`Else If`關鍵字創建多個分支。 僅當不滿足先前條件時,`Else If`關鍵字才會測試其他條件。 請注意,我們可以在測試中使用多個`Else If`關鍵字。 ```vb Option Strict On Module Example Dim a As Byte = 0 Sub Main() If (a < 0) Console.WriteLine("a is negative") Else If (a = 0) Console.WriteLine("a equals to zero") Else Console.WriteLine("a is a positive number") End If End Sub End Module ``` 我們有一個數值變量,并測試它是否為負數或正數或等于零。 第一個表達式的計算結果為`false`。 滿足第二個條件。 程序在控制臺上輸出`a equals to zero`。 分支的其余部分將被跳過。 ## `Select`語句 `Select`語句是選擇控制流語句。 它允許變量或表達式的值通過多路分支控制程序執行的流程。 與使用`If`和`Else If`語句的組合相比,它以更簡單的方式創建多個分支。 我們有一個變量或一個表達式。 `Select`關鍵字用于根據值列表測試變量或表達式中的值。 值列表用`Case`關鍵字顯示。 如果值匹配,則執行`Case`之后的語句。 有一個可選的`Case Else`語句。 如果找不到其他匹配項,則執行該命令。 ```vb Option Strict On Module Example Dim domain As String Sub Main() domain = Console.ReadLine() Select domain Case "us" Console.WriteLine("United States") Case "de" Console.WriteLine("Germany") Case "sk" Console.WriteLine("Slovakia") Case "hu" Console.WriteLine("Hungary") Case Else Console.WriteLine("Unknown") End Select End Sub End Module ``` 在我們的程序中,我們有一個域變量。 我們從命令行讀取變量的值。 我們使用`Case`語句測試變量的值。 有幾種選擇。 例如,如果該值等于`"us"`,則將`"United States"`字符串打印到控制臺。 ```vb $ ./selectcase.exe hu Hungary ``` 我們在控制臺輸入了`"hu"`字符串,程序以`"Hungary"`作為響應。 使用`Select`關鍵字可以驗證一系列數字個案。 ```vb Option Strict On Module Example Dim age As Byte Sub Main() Try age = Console.ReadLine() Catch Console.WriteLine("Invalid value") End End Try Select age Case 0 To 21 Console.WriteLine("Junior") Case 22 To 60 Console.WriteLine("Adult") Case Else Console.WriteLine("Senior") End Select End Sub End Module ``` 前面的程序使用數值范圍來標識一個人的年齡組。 ```vb Try age = Console.ReadLine() Catch Console.WriteLine("Invalid value") End End Try ``` 從控制臺讀取一個值。 我們只能使用數值數據。 `Try`,`Catch`和`End Try`關鍵字用于異常處理。 如果引發異常,則執行`Catch`關鍵字之后的語句。 `End`語句終止程序。 ```vb Case 0 To 21 Console.WriteLine("Junior") ``` 在這里,我們指定一個值范圍。 如果用戶輸入的值在 0 到 21 之間(包括 0 和 21),則程序將在控制臺上打印`"Junior"`。 ```vb $ ./agerange.exe 43 Adult ``` 我們輸入了 43,程序以`Adult`字符串作為響應。 ## `While`語句 `While`語句是一個控制流語句,它允許根據給定的布爾條件重復執行代碼。 這是`While`循環的一般形式: ```vb While (expression): statement End While ``` `While`關鍵字在`While`和`End While`關鍵字包圍的塊內執行語句。 每次將表達式求值為`true`時都會執行這些語句。 ```vb Option Strict On Module Example Sub Main() Dim i As Integer = 0 Dim sum As Integer = 0 While i < 10 i = i + 1 sum += i End While Console.WriteLine(sum) End Sub End Module ``` 在代碼示例中,從一系列數字計算值的總和。 `While`循環包含三個部分:初始化,測試和更新。 語句的每次執行都稱為循環。 ```vb Dim i As Integer = 0 ``` 我們啟動`i`變量。 它用作計數器。 ```vb While i < 10 ... End While ``` `While`關鍵字后面的表達式是第二階段,即測試。 執行主體中的語句,直到表達式的計算結果為`false`。 ```vb i = i + 1 ``` `While`循環的最后一個第三階段。 正在更新。 我們增加計數器。 請注意,對`While`循環的不正確處理可能會導致循環不斷。 可以至少運行一次該語句。 即使不滿足條件。 為此,我們可以使用`Do`和`Loop While`關鍵字。 ```vb Option Strict On Module Example Sub Main() Dim count As Integer = 0 Do Console.WriteLine(count) Loop While (count <> 0) End Sub End Module ``` 首先執行迭代,然后求值真值表達式。 ## `For Next`語句 如果在啟動循環之前知道周期數,則可以使用`For Next`語句。 在此構造中,我們聲明一個計數器變量,該變量在每次循環重復期間都會自動增加或減少值。 ```vb Option Strict On Module Example Sub Main() For i As Integer = 0 To 9 Console.WriteLine(i) Next End Sub End Module ``` 在此示例中,我們將數字`0..9`打印到控制臺。 ```vb For i As Integer = 0 To 9 Console.WriteLine(i) Next ``` 我們將計數器 i 初始化為零。 `Next`語句將計數器增加一,直到計數器等于 9。 Visual Basic 具有可選的`Step`關鍵字。 它控制計數器變量如何增加或減少。 ```vb Option Strict On Module Example Sub Main() For i As Integer = 9 To 0 Step -1 Console.WriteLine(i) Next End Sub End Module ``` 在上面的示例中,我們以相反的順序打印數字 0..9。 ```vb For i As Integer = 9 To 0 Step -1 Console.WriteLine(i) Next ``` 該步驟也可以是負數。 我們將計數器初始化為 9。每次迭代,計數器都將減小步長值。 ## `For Each`語句 `For Each`構造簡化了遍歷數據集合的過程。 它沒有明確的計數器。 `For Each`語句一個接一個地遍歷數組或集合,并將當前值復制到構造中定義的變量中。 ```vb Option Strict On Module Example Sub Main() Dim planets() As String = { "Mercury", "Venus", _ "Earth", "Mars", "Jupiter", "Saturn", _ "Uranus", "Neptune" } For Each planet As String In planets Console.WriteLine(planet) Next End Sub End Module ``` 在此示例中,我們使用`For Each`語句遍歷一系列行星。 ```vb For Each planet As String In planets Console.WriteLine(planet) Next ``` `For Each`語句的用法很簡單。 `planets`是我們迭代通過的數組。 `planet`是一個臨時變量,具有數組中的當前值。 `For Each`語句遍歷所有行星并將它們打印到控制臺。 ```vb $ ./planets.exe Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune ``` 運行上面的 Visual Basic 程序將給出此輸出。 ## `Exit`,`Continue`語句 `Exit`語句可用于終止由`While`,`For`或`Select`語句定義的塊。 ```vb Option Strict On Module Example Dim val As Integer Sub Main While (True) val = CType((30 * Rnd), Integer) + 1 Console.Write(val.ToString & " ") If (val = 22) Exit While End If End While Console.Write(vbNewLine) End Sub End Module ``` 我們定義了一個無限的`While`循環。 只有一種方法可以跳出這樣的循環。 我們必須使用`Exit While`語句。 我們從 1 到 30 中選擇一個隨機值。我們打印該值。 如果該值等于 22,則結束無窮的`while`循環。 ```vb $ ./exitstm.exe 30 12 13 20 19 4 2 9 6 9 22 ``` 我們可能會得到這樣的東西。 `Continue`語句用于跳過循環的一部分,并繼續循環的下一個迭代。 它可以與`Do`,`For`和`While`語句結合使用。 在下面的示例中,我們將打印一個數字列表,這些數字不能除以 2 而沒有余數。 ```vb Option Strict On Module Example Dim num As Integer = 0 Sub Main() While (num < 1000) num = num + 1 If ((num Mod 2) = 0) Continue While End If Console.Write(num.ToString() + " ") End While Console.Write(vbNewLine) End Sub End Module ``` 我們使用`While`循環遍歷數字`1..999`。 ```vb If ((num Mod 2) = 0) Continue While End If ``` 如果表達式`num Mod 2`返回 0,則可以將所討論的數字除以 2。執行`Continue`語句,并跳過循環的其余部分。 在我們的例子中,循環的最后一條語句將被跳過,并且數字不會輸出到控制臺。 下一個迭代開始。 在 Visual Basic 教程的這一部分中,我們討論的是控制流結構。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看