迴圈是指在指定情況下,多次重複執行一組語句。最常用(for …next、 do …loop),
1、重複執行的語句叫迴圈語句。
迴圈語句可以分為三種型別:
(1)、當條件不為假之前的時候重複執行語句。
(2)、當條件變為真之前重複執行語句。
(3)、按指定的次數重複執行語句。
2、for…next 迴圈 如果重複操作的次數固定,使用 for…next 迴圈是乙個很好的選擇,此外也將介紹語法很類似的 for each…next迴圈,它適用在陣列或集合的重複迴圈,(一)for…next 在 for…next 迴圈的語法中使用初值、終值、步長以及迴圈變數來完成重複計數的工作。當進入循 環第 一次執行時,迴圈變數便由初值開始累加一次步長,一直到等於或超過終值為止。
例如:初值為1,終 值為 10, 步長為 2,
則迴圈將執行 5 次,
迴圈變數的值分別是 1、3、5、7、9,
第六次因迴圈變數累加到 11, 已經超過 10 了,便不再執行迴圈。
3、for…next 迴圈的語法如下:
for 迴圈變數=初值 to 終值 step 步長
程式語句…
[ exit for]
程式語句…
next
說明:
(1)、迴圈變數:這個變數通常是使用整數,但是必要時也可以是其他數值型別,他是乙個數值變數。
(2)、初值:這是迴圈變數的初始值,為數值型別。其值不一定是整數, 或小數,vb會自動給他取整數
(3)、終值:迴圈變數的終值,為數值型別。 其值不一定是整數, 或小數,vb會自動給他取整數
(4)、步長:迴圈變數每次的增加量,步長的數值型別應該和迴圈變數一樣, 其值可以是正數(遞增迴圈)或是負數(遞減迴圈),當不能為0,如果沒有特別指定,則步 長默 認為 1。
(5)、迴圈體:在for語句和next語句之間的語句,可以是乙個或多個語句.
(6)、next:是迴圈終端語句,在next後面的"迴圈變數"與for語句中的"迴圈變數"必須相同.
如:for i=0 to 10 step 1
......
next
執行過程:
(1)、把初值1賦給迴圈變數i
(2)、將i的值與終值10進行比較,若i>10,則跳出迴圈,執行(5),否則執行迴圈體.
(3)、i增加乙個步長值,即i=i+1
(4)、返回(2)繼續執行
(5)、執行next語句後面的**
這個迴圈的作用是:根據 for 語句中所的初值、終值和步長,來確定迴圈次數,反覆執行迴圈體內各語句。for…next 迴圈尊循"先檢查、後執行"的原則,即先檢查迴圈變數是否超過終值,
然後決定是否執行迴圈體。因此,在下列情況下,迴圈體將不會執行,
(1)、當步長這正數,初值大於終值
(2)、當步長這負數,初值小於終值
當初值等於終值時,不管步長是正數還是負數,都執行一次迴圈.
for語句和next語句必須成對出現,不能單獨使用,並且for語句必須在next語句之前.
迴圈次數n 的一般公式為:
n=int((終值-初值)/步長)+1
for…next迴圈中的初值小於終值時,步長必須為正值,表示由小到大計數;若初值大於終值時,步長必須設為負值,表示由大到小計數。
例如:初值小於終值時
複製** **如下:
for i=0 to 10 step 1 '預設步長為1可以不寫
response.write(i&"
") next
%>
例如:初值大於終值時
複製** **如下:
for i=10 to 1 step -1
response"
")next
%>
當步長大於0時:當初值<=終值時,for…next之間的語句會被執行一次,接著迴圈變數會被加上步長,如果還小於終值,則再執行一次for…next之間的語句,一直到迴圈變數累加到大於終值,才會跳離for…next迴圈。
複製** **如下:
for i=1 to 1 step 0.5
response.write(i&"
")next
%>
當步長小於0時:=終值,會執行迴圈內的語句一次,然後迴圈變數減去步長(負的),=終值,則再執行一次迴圈內的語句,一直到迴圈變數累加到小於終值,才會跳離for…next迴圈。
迴圈語句的執行過程:
複製** **如下:
for i=2 t程式設計客棧o 1 step -1
response.write(i&"
")next
%>
4、迴圈語句的執行過程:
(1)通過for語句進入迴圈。如果迴圈變數的初值、終值、步長為算術表示式,系統首先計算出算術表示式的值,然後將初值賦給迴圈變數,並將終值、步長的值存入記憶體
(2)將迴圈變數的值與終值進行比較,當迴圈變數的值未超過終值的範圍時,則順次執行迴圈體內的各個語句。若迴圈變數的值超過終值的範圍,則退出迴圈,執行next的後繼語句。
(3)在執行完迴圈體各語句後遇到next語句,將迴圈變數增加乙個步長的值,再去終值,比較,如果仍不超過 起開潿,則再次執行迴圈體內的各語句,這樣重複執行,直到迴圈變數的值超過終值的範圍,結束該迴圈,執行next的後繼語句。
課堂例題:
【例 1】
簡單1加到10,用迴圈特點每次加1
複製** **如下:
for i=0 to 10
sum=sum+i
next
response.write(sum)
%>
最終顯示結果:55
【例 2】
複製** **如下:
for i=0 to 10 step 2
response.write(i&"
")next
%>
最終顯示結果:0,2.4,6,8,10
【例 3】
複製** **如下:
for i=0 to 10
response.write(i&"
") if i=5 then
exit for'強制結束迴圈
end if
next
%>
在上述程式中,原本 i 會從1 累加到10,執行 10次,但是在 i 累加到 5 時,符合了 i=5 的判斷式,結
果執行 exit for 語句,跳離了迴圈,因此最後網頁顯示的結果是「0,1,2,3,4,5,」
【例 4】
複製** **如下:
for i=10 to 0 step -1
sum=sum+i
next
response.write(sum)
%>
最終顯示結果:55
5、我們以範例來說明 for…next迴圈的不同用法:
【例 1】
複製** **如下:
response.write i&","
next
%>
上列程式會累加上 i,而迴圈中的 i 會由1,2,3,…每次累加 1,一直到 10,總共執行 10 次,最後網頁會顯示出「1,2,3,4,5,6,7,8,9,10, 」
【例 2】
複製** **如下:
for a=1 to 10 step 0.5
response.write a&","
next
%>
上列程式中 a將每次累加 0.5,總共執行 20 次,最後在網頁中,顯示出「1,1.5,2,2.5,3,3.5…
9.5,
【例 3】
複製** **如下:
for j=10 to 1 step -1
response.write j&","
next
%>
上列程式中j 將由 10到 1,每次累減 1,最後在網頁中,顯示出「10,9,8,7,6,5,4,3,2,1, 」
【例 4】
迴圈中的初值、終值和步長,在程式一開始執行時唯讀入一次,隨後即使在迴圈內更改其值,也不會對迴圈執行有所影響。
複製** **如下:
stepnum=1
endnum=1
for i=1 to endnum step stepnum
respowww.cppcns.comnse.write i&","
stepnum=stepnum-0.1
endnum=endnum+1
next
%>
上列程式中,故意在迴圈內將步長每次減少 0.1,將終值每次都加 1,意圖使 i 永遠達不到終值,但是因為步長和終值都只讀取一次,便不會再更改,因此這段程式的輸出結果還是「1」 。
【例 5】
迴圈中的迴圈變數,是會在迴圈中更動的,因此:
複製** **如下:
for k=1 to 10
response.write k&","
next
%>
上列程式會累加上 k,而迴圈中的 k 會由1,2,3,…每次累加 1,一直到 10,總共執行 10 次,最後網頁會顯
示出「1,2,3,4,5,6,7,8,9,10,
本文標題: asp中for迴圈的使用方法
本文位址: /ruanjian/vb/108057.html
ASP中FSO控制項的使用方法
為了使用fso來執行所有的工作,首先要建立物件,就象下面這樣 set fso server.createobject scripting.filesystemobject 這樣就建立了fso並且賦予變數fso,接著就可以使用熟悉的object.method語法來執行檔案系統的操作 檢視visual ...
詳解Python中for迴圈的使用方法
for迴圈在python中有遍歷所有序列的專案,xdpzhla如列表或乙個字串。語法 for迴圈語法如下 for iterating var in sequence statements s 如果乙個序列包含乙個表示式列表,計算第乙個。然後,在序列中的第一項被分配給迭代變數iterating var...
各種迴圈的使用方法
var arr nick freddy mike james for let i 0,len arr.length i len i 0 nick 1 freddy 2 mike 3 jamesfor let i 0 i arr.length i var arr nick freddy mike ja...