【正文】
or語句的執(zhí)行順序為:首先把計數(shù)變量設為起始值;然后讓計數(shù)變量與終止值比較,如果步長為正值,則判斷計數(shù)變量是否小于等于終止值,如果是則繼續(xù)執(zhí)行循環(huán),如果否則結束循環(huán);如果步長值為負值,則判斷計數(shù)變量是否大于等于終止值,如果是則繼續(xù)執(zhí)行循環(huán),如果否則結束循環(huán)。 Step子句用于指定計數(shù)變量的增量,當省略 Step子句時,計數(shù)變量的增量默認為 1。在For?Next 語句中需要使用計數(shù)變量來計數(shù)循環(huán)執(zhí)行次數(shù)。當知道循環(huán)次數(shù)時,使用 For?Next 語句比較合適。 br) (The number of the until cycle is amp。 br) (The number of the while cycle is amp。 br) (The number of the Loop While cycle is amp。 使用 Until關鍵字,判斷條件表達式的值為 True,則結束循環(huán) Loop Until m 5 (The number of the Do While cycle is amp。 不論 r是什么值,循環(huán)都至少執(zhí)行一次 Do n = n + 1 39。 動手做: [例 38]()使用不同的 Do循環(huán)計算循環(huán)次數(shù) %page LANGUAGE = vb% HTML HEAD titleTest Do/title /HEAD BODY TABLE width=100% bordercolor=blue border=1 TR height=25 bgcolor=blue TD align=centerfont color=white程序輸出結果/font/TD/TR TR bgcolor=whiteTD % Dim r As Integer = 0 Dim t As Integer = 0 Dim n As Integer = 0 Dim m As Integer = 0 Do While r 5 39。 m ) % /TD /TR /TABLE /BODY /HTML 程序輸出如圖 37所示: 圖 37 While語句測試結果 2. Do?Loop 語句 它與 while語句類似,也用于循環(huán)次數(shù)不確定的場合,其語法形式為: Do While(或 Until) 條件表達式 嵌入語句 Loop 或 Do 嵌入語句 Loop While(或 Until) 條件表達式 其中,使用 While關鍵字表示:當條件表達式的值為 True時,重復執(zhí)行嵌入語句;使用 Until關鍵字表示:在條件表達式的值變 True之前一直重復執(zhí)行嵌入語句。它的語法形式為: While 條件表達式 嵌入語句 它判斷條件表達式的值,如果為 True,則重復執(zhí)行嵌入語句,直到布爾表達式的值為 False,則結束 While語句。 ,它們分別是 While、 Do?Loop 、 For?Next 和 For Each?Next 。 days amp。 Case Else分支可有可無,但每個 Select?Case 語句最多只能有一個 Case Else分支。 執(zhí)行 Select?Case 語句時,首先計算 Select表達式的值,然后與case常量表達式的值進行比較,執(zhí)行第一個與之匹配的 case分支中的嵌入語句。語法形式為: Select 表達式 Case常量表達式: 嵌入語句 ? Case Else 嵌入語句 End Select Select表達式的類型為某個基本數(shù)據(jù)類型( Boolean、 Byte、 Char、Date、 Double、 Decimal、 Integer、 Long、 Object、 Short、 Single 和 String)。 max) % /TD /TR /TABLE /BODY /HTML 程序輸出如圖 35所示: 圖 35 If語句測試結果 if語句可以嵌套,內(nèi)嵌的 if語句既可以嵌套在 if子句中,也可以嵌套在 else子句中。 嵌入語句可以有多條 End If 或 If 條件表達式 Then 嵌入語句 1 Else 嵌入語句 2 End If 如果布爾表達式的值為 True,則執(zhí)行 If后的嵌入語句,否則程序繼續(xù)執(zhí)行或執(zhí)行 Else后的嵌入語句。語法形式為: If 條件表達式 Then 嵌入語句 39。 ,即If?Then 語句和 Select?Case 語句。這些基本結構通過使用選擇語句和循環(huán)語句來實現(xiàn)。 str2 39。例如: Dim str1 As String = Tian Dim str2 As String = Tan str1 + str2 39。 相當于 a = a + 20 串聯(lián)運算符 串聯(lián)運算符用于連接字符串。例如: Dim a As Integer = 0 39。 因為 bYes結果為 False,則不需計算 a20的值,而直接給出表達式的結果為 False 賦值運算符 賦值運算符為變量、屬性、事件或索引器元素賦新值,它包括: =、 +=、 =、*=、 /=、 \=、 amp。同理, OrElse與 Or類似,區(qū)別是如果 OrElse 表達式中的第一個表達式計算為 True,則不計算第二個表達式,并且為該 OrElse 表達式返回 True。 結果為 False,因為 a20成立,而 bYes不成立 AndElse和 OrElse稱為“短路”邏輯運算符。 當兩個操作數(shù)均為 true時, And的結果才為 true,否則為 false;當兩個操作數(shù)均為 false時, Or的結果才為 false,否則為 true;如果操作數(shù)為 True, Not的結果為 False,如果操作數(shù)為 False, Not的結果為 True;如果兩個操作數(shù)均為True或 False, Xor的結果為 False,否則為 True。 br) % /TD /TR /TABLE /BODY /HTML 程序輸出如圖 34所示: 圖 34 比較運算符結果 邏輯運算符用于比較 Boolean 表達式,并返回 Boolean 結果。 br) (3 5: amp。 br) (m n: amp。 動手做: [例 34]()使用比較運算符 %page LANGUAGE = vb% HTML HEAD titleTest Array/title /HEAD Script Language=VB RunAt=Server Enum Range As Long Max = 2147483648 Min = 255 End Enum /Script BODY TABLE width=100% bordercolor=blue border=1 TR height=25 bgcolor=blue TD align=centerfont color=white程序輸出結果/font/TD/TR TR bgcolor=whiteTD % Dim a As Range = Dim b As Range = Dim m As String = Test Dim n As String = Equal (a = b: amp。前六個比較運算符可用于比較數(shù)值和字符串。例如: Dim result , x, y ,z As Double result = 21 \ 2 x = 20 Mod 2 y = Mod 3 z = ^ 2 比較運算符 ==(相等)、 (不想等)、 (小于)、 (大于)、 =(小于等于)、 =(大于等于)和 is(對象比較)運算符稱為比較運算符。 ^只適用于 Double類型; \只適用于整數(shù)類型;其它算術運算符適用于整數(shù)和浮點類型。 :一元運算符、算術運算符、移位運算符、關系和類型測試運算符、邏輯運算符、條件邏輯運算符、條件運算符和賦值運算符。 變量聲明和賦值同時進行 Dim sStr As String = This is a test 運算符與表達式 用運算符將操作數(shù)連接起來,形成符合 為表達式。 先聲明一個變量 dDate = Today( ) 39。 聲明多個 String變量 可以在變量聲明之后,給變量賦值;也可以在聲明變量的同時給變量賦值。 變量聲明語法: Dim 變量名 1,變量名 2, ? As 數(shù)據(jù)類型 例如: Dim aa As Double 39。變量具有名稱,可以通過名稱來引用變量。 拆箱 在程序中,通常要處理或存儲數(shù)據(jù),這些數(shù)據(jù)就是用變量來存儲的。 下面的例子完成裝箱和拆箱的操作: Dim a As Integer Dim b As Integer = 1000 Dim x As Object x = b 39。 拆箱轉換允許將引用類型顯式轉換為值類型。 裝箱轉換允許將值類型隱式轉換為引用類型。 利用 CType函數(shù)進行顯式轉換,把 t由 Double型轉為 Single型 s = CSng(t) 39。特定類型轉換函數(shù)包括: CBool(轉為布爾型)、 CByte(轉為字節(jié))、 CChar(轉為字符)、 CDec(轉為 Decimal類型)、 CDate(轉為日期型)、 CDbl(轉為Double型)、 CInt(轉為整型)、 CLng(轉為長整型)、 CSng(轉為 Single型)、CStr(轉為字符串)、 CObj(轉為 object)、 CShort(轉為短整型)。試圖不使用強制轉換運算符而對值進行顯式轉換將導致編譯時錯誤。從整型到浮點型的隱式轉換 隱式數(shù)值轉換實際上是按照如圖 33所示順序從低精度的數(shù)值類型到高精度數(shù)值類型的轉換。 一般情況下,從短類型到長類型的轉換都是隱式轉換。隱式轉換是系統(tǒng)默認的、自動進行的轉換。 :隱式轉換( implicit conversion)和顯式轉換( explicit conversion)。 重新定義數(shù)組大小為 20,并且使用Preserve關鍵字保證改變數(shù)組大小時不改變數(shù)組元素的原有值 類型轉換 在編寫 ,經(jīng)常會碰到類型轉換問題。 重新定義數(shù)組大小為 5 Dim a(10) As Single 39。例如: Dim arr() As Integer 39。 course(i) amp。 i amp。 br) Next i (course) 39。 )= amp。 ,是 ,等價于 UBound( course) (course( amp。另外, ,可以直接使用這些成員對數(shù)組進行各種操作。 二維數(shù)組初始化, arr(0,0)的值為 10, arr(0,1)的值為 20, arr(1,0)的值為 30, arr(1,1)的值為 40, arr(2,0)的值為 50, arr(2,1)的值為 60 注意: 在第二種情況下,不能顯式指定數(shù)組的大小,系統(tǒng)根據(jù)初始化值的多少確定數(shù)組的大小。例如: Dim arr( ) As Integer = {10 , 100} 39。 二維數(shù)組,包含元素 arr(0, 0)、arr(0, 1)、 arr(0, 2)、 arr(1, 0)、 arr(1, 1)、 arr(1, 2) 可以先聲明數(shù)組,然后對數(shù)組中的每一個元素分別賦值完成初始化。 聲明一維數(shù)組的語法: Dim 數(shù)組名 ( 數(shù)組大小 ) As 數(shù)據(jù)類型 例如: Dim arr(3) As Integer 39。數(shù)組的上界可以通過函數(shù)