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