2009年12月8日 星期二

(VB入門篇)VB2008 四、語法簡介中(條件和迴圈)

If


If如果把它翻做如果,則一切都很容易明白=D
If A = B Then

MsgBox("OK")

End If

以上程式碼表示如果A等於B則執行MsgBox("OK")

從進階的角度來講,IfThen 之間會有一串運算式,如果這運算式的結果不是0也不是False,就會執行ThenEnd If之間的程式碼。

結論:
If 運算式 Then

(程式碼)

End If

Else


簡單來說,當If的運算式為False或0的時候會執行ElseEnd If之間的程式碼。
If A = B Then

MsgBox("OK")

Else

MsgBox("Not OK")

End If

以上程式碼表示如果A等於B則執行MsgBox("OK"),如果A不等於B,則執行MsgBox("Not OK")

結論:
If 運算式 Then

(程式碼)

Else

(程式碼)

End If

Else If


If的運算式為False或0的時候會判斷Else IfThen之間的運算式,如果該運算式是True或者1,則執行Else If ... Then End之間的程式碼。
If A = B Then

MsgBox("OK")

Else If A>B Then

MsgBox("BIGGER THAN")

End If

以上程式碼表示如果A等於B則執行MsgBox("OK"),如果A不等於B,可是A>B,則執行MsgBox("BIGGER THAN")

If A = B Then

MsgBox("OK")

Else If A>B Then

MsgBox("BIGGER THAN")

Else

MsgBox("SMALLER THAN")

End If

以上程式碼表示如果A等於B則執行MsgBox("OK"),如果A不等於B,可是A>B,則執行MsgBox("BIGGER THAN"),再不然,就會執行MsgBox("SMALLER THAN")

結論:


If 運算式 Then

(程式碼)

Else If 運算式 Then

(程式碼)

End If



For


關於迴圈,直接從語法上來好了。

範例程式碼:
Dim i As Integer = 0

For i = 0 To 3

MsgBox("OK" & i)

Next

嗯,如果要簡單說的話就是讓i從0加到3,期間執行ToNext之間的程式碼(範例內是MsgBox)

以上這段程式碼是這樣執行的:
i=0

MsgBox("OK" & i)

i=i+1

MsgBox("OK" & i)

i=i+1

MsgBox("OK" & i)

i=i+1

MsgBox("OK" & i)

因為i=3, 結束迴圈

最後i=3,符合最後條件所以結束迴圈。

關於i=i+1這段,+1是由省略變形而來的
Dim i As Integer = 0

For i = 0 To 3 Step 1

MsgBox("OK" & i)

Next

這段跟前述程式碼是等價的,產生的結果一樣。

但是:
Dim i As Integer = 0

For i = 0 To 3 Step 2

MsgBox("OK" & i)

Next

的結果不同,流程是
i=0

MsgBox("OK" & i)

i=i+2

MsgBox("OK" & i)

因為i>3,結束迴圈

結論:
For 變數名稱 = 初始值 To 結束值

(程式碼)

Next

或者:
For 變數名稱 = 初始值 To 結束值 Step 遞增值

(程式碼)

Next

變形:
For 變數名稱 As Integer = 初始值 To 結束值

(程式碼)

Next

變形可以省去前面變數名稱的宣告,直接在FOR裡宣告

While


While超易懂,結論:
While 運算式

(程式碼)

End While

當運算式結果是True或者是1,程式碼會不斷執行,直到運算式=0或者False

另一種表達方式是:
Do

(程式碼)

While 運算式

沒有留言:

張貼留言