VB.NET條件分支語句應(yīng)用方法概述
VB.NET具有面向?qū)ο蟮囊恍┨匦裕疫€能夠支持類的所有特性,它的應(yīng)用大大提高了開發(fā)人員的編程效率。我們今天就先來看看VB.NET條件分支語句的一些基礎(chǔ)應(yīng)用,幫助大家提高對此的認識程度。
VB.NET條件分支語句一、簡單If條件語句
使用在稱之為分支結(jié)構(gòu)的特殊語句塊中的條件表達式控制了程序中哪些語句被執(zhí)行以及什么樣的執(zhí)行次序執(zhí)行。“If...Then”分支結(jié)構(gòu)在程序中計算條件值,并根據(jù)條件值決定下一步執(zhí)行的操作。最簡單的“If...Then”分支結(jié)構(gòu)可以只寫在一行:
- If Condition Then
Statement[Else statement]
注意:“If...Then”分支結(jié)構(gòu)用于給程序添加邏輯控制能力。這里,“Condition”是個條件表達式,“Statement”是條件有效的Visual Basic語句。例如:
If Score>=20 Then Label1.Text="You Win!"是個使用了下述條件表達式的分支結(jié)構(gòu):Score>=20
根據(jù)這個表達式的值,程序決定是否把Label1對象的“Text”屬性設(shè)置為“You Win!”。如果“Score”變量的值大于等于20,Visual Basic設(shè)置該屬性的值,否則,Visual Basic跳過這條賦值語句,然后執(zhí)行事件過程中的下一行語句。這類比較運算的結(jié)果不是“True”就是“False”,條件表達式從來不會產(chǎn)生模棱兩可的值。
VB.NET條件分支語句二、If...Then...Else語句
Visual Basic還支持另一種格式的“If...Then”分支結(jié)構(gòu),該結(jié)構(gòu)中包含幾個條件表達式,由多行語句組成,其中包含了重要關(guān)鍵字“ElseIf”、“Else”以及“End If”。
- If Condition1 Then
- Statements
- ElseIf Condition2 Then
- Statements
- [其他ElseIf子句及其相應(yīng)的執(zhí)行語句]
- Else
- Statements
- End If
這個結(jié)構(gòu)中,“Condition1”首先被計算。如果這個條件表達式的值為“True”,那么這個條件表達式下的語句被執(zhí)行;如果***個條件的值不是“True”,那么計算第二個表達式(Condition2)的值,如果第二個條件的值為“True”,那么這個條件表達式下的語句塊被執(zhí)行(如果要判斷更多的條件,那么繼續(xù)增加“ElseIf”子句及該子句下的語句塊);
如果所有條件表達式的值都不是“True”,那么執(zhí)行“Else”子句下的語句塊;***,整個結(jié)構(gòu)使用“End If”關(guān)鍵字結(jié)束。多行“If...Then”結(jié)構(gòu)特別適合于分段計算問題,比如稅費方面的計算。下面的代碼展示了如何使用多行“If...Then”結(jié)構(gòu)來確定遞進稅計算問題(收入和稅率的對應(yīng)關(guān)系取自美國國內(nèi)收入服務(wù)1997年稅率表):
- If AdjustedIncome<=24650 Then
- '15%稅段
- TaxDue=AdjustedIncome*0.15
- ElseIf AdjustedIncome<=59750 Then
- '28%稅段
- TaxDue=3697+((AdjustedIncome-24650)*0.28)
- ElseIf AdjustedIncome<=124650 Then
- '31%稅段
- TaxDue=13525+((AdjustedIncome-59750)*0.31)
- ElseIf AdjustedIncome<=271050 Then
- '36%稅段
- TaxDue=33644+((AdjustedIncome-124650)*0.36)
- Else
- '39.6%稅段
- TaxDue=86348+((AdjustedIncome-271050)*0.396)
- End If
注意:總是可以添加更多的“ElseIf”塊到“If...Then”結(jié)構(gòu)中去。但是,當(dāng)每個“ElseIf”都將相同的表達式比作不同的數(shù)值時,這個結(jié)構(gòu)編寫起來很乏味。在這種情況下可以使用“Select Case”判定結(jié)構(gòu)。
VB.NET條件分支語句三、Select Case結(jié)構(gòu)
Visual Basic還支持在程序中使用“Select Case”分支結(jié)構(gòu)來控制語句的執(zhí)行。 “Select Case”結(jié)構(gòu)與“If...Then...Else”結(jié)構(gòu)相似,但在處理依賴于某個關(guān)鍵變量或稱作測試情況的分支時效率更高。并且,使用“Select Case”結(jié)構(gòu)可以提高程序的可讀性。“Select Case”結(jié)構(gòu)的語法如下所示:
- Select Case Variable
- Case Value1
- Statements
- Case Value2
- Statements
- Case Value3
- Statements
- ...
- End Select
“Select Case”結(jié)構(gòu)以關(guān)鍵字“Select case”開始,以關(guān)鍵字“End Select”結(jié)束。“Select Case”結(jié)構(gòu)中的“Variable”可以是變量、屬性或者是表達式,“Value1”、“Value2”,“Value3”可以是數(shù)值、字符串或與要測試的其他情況相關(guān)的其他值,如果其中某個值與變量相匹配,那么該“Case”子句下的語句被執(zhí)行,然后Visual Basic執(zhí)行“End Select”語句后面的語句。“Select Case”結(jié)構(gòu)中可以使用任意多個“Case”子句,“Case”子句中也可以包括多個“Value”值,多個“Value”值之間使用逗號分隔。
下面示例展示了程序中如何使用“Select Case”結(jié)構(gòu)打印與某人年齡相關(guān)的信息。當(dāng)“Age”變量與某個“Case”值匹配時,相應(yīng)的信息顯示在標簽對象中。
- Select Case Age
- case 16
- Label1.Text="You can drive now!"
- Case 18
- Label1.Text="You can vote now!"
- Case 21
- Label1.Text="You can drink wine
with your meals."- Case 65
- Label1.Text="Time to retire and
have fun!"- End Select
注意:“Select Case”結(jié)構(gòu)比功能等效的“If...Then”結(jié)構(gòu)更清晰易讀。“Select Case”結(jié)構(gòu)還支持“Case Else”子句,該子句可用于當(dāng)不滿足所有“Case”條件時顯示信息。下面是說明“Case Else”子句用法的一個示例:
- Select Case Age
- Case 16
- Label1.Text="You can drive now!"
- Case 18
- Label1.Text="You can vote now!"
- Case 21
- Label1.Text="You can drink wine
with your meals."- Case 65
- Label1.Text="Time to retire and
have fun!"- Case Else
- Label1.Text="You're a great age!
Enjoy it!"- End Select
注意:“Select Case”結(jié)構(gòu)每次都要在開始處計算表達式的值,而“If...Then...Else”結(jié)構(gòu)為每個“ElseIf”語句計算不同的表達式,只有在“If”語句和每個“ElseIf”語句計算相同的表達式時,才能使用“Select Case”結(jié)構(gòu)替換“If...Then...Else”結(jié)構(gòu)。以上就是我們對VB.NET條件分支語句的具體講解,希望對大家有所幫助。
【編輯推薦】
- VB.NET控件數(shù)組正確使用方法分析
- VB.NET默認屬性適用規(guī)則介紹
- VB.NET網(wǎng)頁計數(shù)器代碼編寫方法介紹
- VB.NET基本函數(shù)內(nèi)容概述
- VB.NET中心旋轉(zhuǎn)圖像實現(xiàn)技巧分享