共找到12條詞條名為STEP的結果 展開
STEP
程序設計
徠將一組語句重複執行指定的次數的程序。
counter
For 語句的必選項。數值變數。它是循環的控制變數。
datatype
如果尚未聲明 counter,則是必選項。counter 的數據類型。
start
必選。數值表達式。counter 的初始值。
end
必選。數值表達式。counter 的最終值。
step
可選。數值表達式。每次循環后 counter 的增量。
statements
可選。放在 For 和 Next 之間的一條或多條語句,它們將運行指定的次數。
徠Exit For
可選。將控制轉移到 For 循環外。
Next
必選。結束 For 循環的定義。
當需要將一組語句重複執行設置好的次數時,請使用 For...Next 結構。
當事先不知道需要執行多少次循環中的語句時,While...End While 語句 (Visual Basic) 或 Do...Loop 語句 (Visual Basic) 循環可很好地發揮作用。但是,如果您希望讓循環運行特定次數,則 For...Next 是較好的選擇。您需要在第一次輸入循環時確定迭代次數。
step 的值可以是正數或負數。它將按以下方式決定循環處理過程:
Step 值 | 循環執行的條件 |
正數或零 | counter <= end |
負數 | counter >= end |
如果沒有指定,則 step 的默認值為 1。
• 數據類型。counter 的數據類型通常是 Integer,但也可以是任何支持大於或等於 (>=)、小於或等於 (<=)、加法 (+) 和減法 (-) 運算符的類型。只要支持所有這些運算符,該數據類型甚至可以是用戶定義的類型。
• start、end 和 step 表達式通常計算為 Integer 類型,但也可以計算為任何拓寬到 counter 的類型的數據類型。如果要將用戶定義的類型用於 counter,這意味著您可能必須定義 CType 轉換運算符,來將 start、end 或 step 的類型轉換為 counter 的類型。
• 聲明。如果未在此循環外聲明 counter,則必須在 For 語句內聲明它。這種情況下,counter 的範圍就是循環的主體。但是,不能既在循環外聲明 counter,又在循環內聲明 counter。
• 迭代次數。Visual Basic 僅在循環開始之前計算一次迭代值 start、end 和 step。如果語句塊更改 end 或 step,這些更改不影響循環的迭代。
• 嵌套循環。可以將一個循環放在另一個循環內以嵌套 For 循環。不過,每個循環必須具有唯一的 counter 變數。下面的結構是有效的。
如果先遇到外部嵌套級別的 Next 語句,后遇到內部嵌套級別的 Next 語句,編譯器將發出錯誤信號。不過,僅當在所有 Next 語句中都指定了 counter 時,編譯器才能檢測到這種重疊錯誤。
• 標識控制變數。可以選擇在 Next 語句中指定 counter。這將提高程序的可讀性,尤其是在具有嵌套的 For 循環的情況下。必須指定與相應的 For 語句中出現的變數相同的變數。
• 將控制轉移到循環外。Exit 語句 (Visual Basic) 將控制立即轉移到 Next 語句後面的語句。如果檢測到使繼續迭代不必要或不可能的條件(如錯誤值或終止請求),則可能需要退出循環。而且,如果在 Try...Catch...Finally 中捕獲異常,則可以在 Finally 塊的結尾使用 Exit For。
• 可以在 For 循環中的任何位置插入任意數量的 Exit For 語句。Exit For 通常在計算特定條件后使用,例如在 If...Then...Else 結構中。
• 無限循環。Exit For 的一種用途是測試可能導致“無限循環”(即運行次數非常多甚至無限的循環)的條件。如果檢測到這樣的條件,就可以使用 Exit For 退出循環。有關更多信息,請參見 Do...Loop 語句 (Visual Basic)。
• 進入循環。當開始執行 For...Next 循環時,Visual Basic 將計算start、end 和 step(僅此一次)。然後將 start 賦予 counter。運行語句塊之前,它先將 counter 與 end 進行比較。如果 counter 已經超過了結束值,則 For 循環終止,並且控制將傳遞給 Next 語句後面的語句。否則,將運行語句塊。
• 循環的迭代。每次 Visual Basic 遇到 Next 語句時,都按 step 遞增 counter,然後返回到 For 語句。它再次將 counter 與 end 進行比較,並再次根據結果運行塊或者終止循環。這一過程將一直持續下去,直到 counter 傳遞 end 或者遇到 Exit For 語句為止。
• 循環的終止。在 counter 傳遞 end 之後,循環才會終止。如果 counter 等於 end,則循環繼續。如果 step 為正數,確定是否運行循環代碼塊的比較運算將為 counter <= end;如果 step 為負數,則為 counter >= end。
• 更改迭代值。如果在循環內更改 counter 的值,將會使代碼的閱讀和調試變得更加困難。更改 start、end 或 step 的值不會影響首次進入循環時所確定的迭代值。
下面的示例演示了不同 Step 值情況下的 For...Next 嵌套結構。
前面的示例創建了一個字元串,該字元串包含 10 個從 0 到 9 的數字,各數字之間用一個空格隔開。每循環一次,外部循環都使循環計數器變數遞減一次。