《FlowControl(流程控制).ppt》由会员分享,可在线阅读,更多相关《FlowControl(流程控制).ppt(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、3.Flow Control(流程控制)IfThenelseIf If condition Then Then statements ElseIfElseIf elseifcondition ThenThen else if statements ElseElse else statements End IfEnd If condition通常是一個布林(Boolean)運算式 一個為零的數值會被視為False,而任何非零數值都被看作 True。若 condition 為 True,則 Visual Basic 會執行 Then 關鍵字後面的所有指令碼(statements);反之,則執行El
2、se後面的指令碼(statements)。Example(範例)0000:Sub Main()0001:Dim score As Integer=1000002:Dim result As String0003:0004:Console.Write(分數:&score)0005:判斷score 有沒有大於0006:If score=60 Then0007:result=及格!0008:Else0009:result=不及格!0010:End If0011:Console.WriteLine(result)0012:Console.ReadKey()0013:End SubIfthenelse要
3、求使用者輸入0004:Console.Write(請輸入一個數字:)0005:number=Console.ReadLine0006:判斷0007:If number 10 Then0008:digits=10009:ElseIf number 100 Then0010:digits=20011:ElseIf number 1000 Then0012:digits=30013:ElseIf number&Result)SelectCase(條件判斷敘述)SelectSelect CaseCase test expression CaseCase expression statements Ca
4、seCase expression statements Case ElseCase Else else statements End SelectEnd Select如果 test expression 符合任何 Case expression 子句,即會執行接在該 Case後的陳述式(statements),直到下一個Case關鍵字或是End Select陳述式。如果 test expression 符合一個以上的 Case 子句,則程式只會執行接在第一個符合條件者之後的陳述式如果在每一個Case 陳述式之間找不到符合條件者,則Case Else陳述式後面的程式碼會被執行。Case 1 T
5、o 4,7 To 9,11,13,Is MaxNumberCase apples,nuts To soup,TestItemSelectCaseIF Then IF Then 寫法寫法 宣告變數score,並初始化score的值為 Dim score As Integer=100 Dim result As String 用If 來判斷四個等級的分數 If score=80 Then result=分數介於100-80之間 ElseIf score=60 Then result=分數介在79-60之間 ElseIf score=40 Then result=分數介在59-40之間 ElseIf
6、 score=0 Then result=分數介在39-0之間 End IfSelect Case Select Case 寫法寫法 Console.Write(請輸入分數:)score=Console.ReadLine 用Select Case 來判斷不同等級的分數 Select Case score Case 80 To 100 result=分數介在-80之間 Case 60 To 79 result=分數介在-60之間 Case 40 To 59 result=分數介在-40之間 Case Is 10 Then If B=abc Then (略)Else (略)End If Else
7、(略)End IfSelect CaseSelect CaseSelect Case A Case 1 (略)Case 2 (略)Select Case B Case abc (略)Case def (略)End Select (略)Case 3 (略)If B=zzz Then (略)End If (略)End SelectNested loop(巢狀迴圈)For NextoFor和Next兩個關鍵字中的程式碼,會被重複的執行o執行的次數會依照變數counter來決定oCounter將會從start開始到end,每次遞增oExit for:中途離開for迴圈For counter As 型別
8、=start To end Step step statements Exit For statements Next counter EXEX:CH03-07 CH03-07 Sub Main()For i As Integer=1 To 12 Console.WriteLine(i)Next Console.ReadKey()End Sub 被重複執行12次,每次變數i的值都有所不同Example(範例)EXEX:CH03-09 CH03-090001:Dim ret As String=0002:0003:For I As Integer=1 To 100004:For k As Int
9、eger=1 To I0005:ret=ret&*0006:Next k0007:ret=ret&vbCrLf0008:Next I0009:0010:Console.Write(ret)0011:Console.ReadKey()巢狀迴圈Nested For loop(巢狀for迴圈)宣告 Dim Start,Finish As Integer 要求使用者輸入開始數字 Console.Write(請輸入開始數字:)Start=Console.ReadLine 要求使用者輸入結束數字 Console.Write(請輸入結束數字:)Finish=Console.ReadLine 在開始數字和結束
10、數字當中找出第一個16 的倍數 For i As Integer=Start To Finish 如果除以餘數為則為的倍數 If i Mod 16=0 Then Console.Write(第一個16 的倍數為:&i)Console.ReadKey()Exit ForExit For End If Next利用Exit For允許中途離席(請注意,Exit For一定會出現在判斷式之後)Exit ForDo While|Until condition statements Exit Do statements Loop-或-Do statements Exit Do statements Lo
11、op While|Until conditioncondition是判斷條件,當程式碼進入DoLoop迴圈之後,會一直執行,每次執行時都會判斷condition條件是否成立,但是依照語法的不同,有幾種不同的可能 DoWhile先執行一次,然後判斷條件,當條件成立時,重複執行一次迴圈中的內容:先執行一次,然後判斷條件,當條件不成立時持續在迴圈中重複執行,直到條件成立時,則跳出迴圈:DoLoop While 條件運算式DoLoop Until條件運算式先判斷條件,當條件成立時持續在迴圈中重複執行,直到條件不成立時,則跳出迴圈:先判斷條件,當條件不成立時持續在迴圈中重複執行,直到條件成立時,則跳出迴
12、圈:Do While條件運算式Loop Do Until條件運算式Loop 四種 Do WhileEXEX:03-2003-200001:Dim n As Integer0002:Dim k As Integer0003:0004:Console.Write(請輸入一個數字:)0005:n=Console.ReadLine0006:0007:0007:DoDo0008:k=k+n0008:k=k+n0009:0009:LoopLoop UntilUntil k+n 10000 k+n 100000010:0011:Console.Write(最接近的n的倍數為:&k)0012:Console.
13、ReadKey()程式會讓使用者輸入一個數字並找到這個數字最接近10000的倍數(最接近10000,但不能超過)Example(範例)While End WhileWhile conditionstatementsExit WhilestatementsEnd WhileoWhile end while可以被do while loop完全取代Infinite Loop(無窮迴圈)o無窮迴圈編譯時沒有錯誤訊息o應該確保程式有程式出口Dim i as Integer=10Do While i 9 i=i+1LoopTryCatch 錯誤處理TryCatchTryCatchTry 可能發生錯誤的程式碼位置Catch 發生錯誤時,要執行的指令 Exit Try 若下了Exit Try 指令,則跳出TryEnd Try結構Finally 只要一進入Try敘述中 不管有沒有錯誤或從Try敘述中的哪一部份離開都執行的程式End TryExample Sub Main()Dim i As Integer=10 Try Do While i 9 i=i+1 Loop Catch ex As Exception Console.WriteLine(程式發生問題:&ex.Message)Console.ReadKey()Exit Sub End Try End Sub