複製鏈接
請複製以下鏈接發送給好友

STEP

(程序設計)

鎖定
Step(步進),是將一組語句重複執行指定的次數的程序,語種為Visual Basic。
中文名
步進
外文名
Step
語    種
Visual Basic

STEP部分説明

  • counter
  • For 語句的必選項。數值變量。它是循環的控制變量。
  • datatype
  • 如果尚未聲明 counter,則是必選項。counter 的數據類型。
  • start
  • 必選。數值表達式。counter 的初始值
  • end
  • 必選。數值表達式。counter 的最終值。
  • step
  • 可選。數值表達式。每次循環後 counter 的增量。
  • statements
  • 可選。放在 For 和 Next 之間的一條或多條語句,它們將運行指定的次數。
  • Exit For
  • 可選。將控制轉移到 For 循環外。
  • Next
  • 必選。結束 For 循環的定義。

STEP用法

Forcounter[Asdatatype]=startToend[Stepstep]
[statements]
[ExitFor]
[statements]
Next[counter]

STEP其他信息

當需要將一組語句重複執行設置好的次數時,請使用 For...Next 結構。
當事先不知道需要執行多少次循環中的語句時,While...End While 語句 (Visual Basic) 或 Do...Loop 語句 (Visual Basic) 循環可很好地發揮作用。但是,如果您希望讓循環運行特定次數,則 For...Next 是較好的選擇。您需要在第一次輸入循環時確定迭代次數。
step 的值可以是正數或負數。它將按以下方式決定循環處理過程:
Step 值
循環執行的條件
正數或零
counter <= end
負數
counter >= end
如果沒有指定,則 step 的默認值為 1。

STEP規則

  • 數據類型。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 變量。下面的結構是有效的。
ForiAsInteger=1To10
ForjAsInteger=1To10
ForkAsInteger=1To10
Nextk
Nextj
Nexti
如果先遇到外部嵌套級別的 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)。

STEP行為

  • 進入循環。當開始執行 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示例

下面的示例演示了不同 Step 值情況下的 For...Next 嵌套結構。
Dimwords,digitAsInteger
DimthisStringAsString=""
Forwords=10To1Step-1
Fordigit=0To9
thisString&=CStr(digit)
Nextdigit
thisString&=""
Nextwords
前面的示例創建了一個字符串,該字符串包含 10 個從 0 到 9 的數字,各數字之間用一個空格隔開。每循環一次,外部循環都使循環計數器變量遞減一次。