VS2005 之 Visual Basic 編程語言介紹

轉自:http://www.cnblogs.com/freeliver54/archive/2007/08/29/874787.html

1.變量 的 聲明 賦值 使用
2.單詞和文本:使用字符串變量來組織單詞
3.數組:表示多個值的變量
4.算法:創建包含變量和運算符的表達式
5.比較:使用表達式比較值
6.使計算機執行某種操作:編寫您的第一個過程
7.使程序重複執行操作:用 For...Next , Do...While, Do...Until 循環執行循環
8.使程序在兩種可能的情況之間選擇:If...Then , Select Case 語句
9.出錯時怎麼辦:處理錯誤 Try...Catch...Finally 塊

========================
1.變量 的 聲明 賦值 使用
========================
a.聲明變量
----------
  聲明變量時,必須決定其名稱和爲其分配什麼樣的“數據類型”。
  使用 Dim 和 As“關鍵字”來聲明變量,如下所示。

  Dim aNumber As Integer

  這行代碼告訴程序您要使用一個名爲 aNumber 的變量,
  並且希望它是存儲整數(Integer 數據類型)的變量。

  因爲 aNumber 是一個 Integer,所以它只能存儲整數。
  例如要存儲 42.5,需使用 Double 數據類型。
  如果要存儲一個單詞,需使用 String 數據類型。
  另外一種在此值得一提的數據類型是 Boolean,它可存儲 True 或 False 值。

b.給變量賦值
------------
  使用 = 符號(該符號有時稱作“賦值運算符”)給變量賦值,如下例所示。

  aNumber = 42

  這行代碼的值爲 42,它存儲在先前聲明的名爲 aNumber 的變量中。

c.聲明變量和用默認值給變量賦值
------------------------------
  如上所示,您可以在一行代碼上聲明變量,然後在另一行上賦值。
  但是,如果嘗試在賦值前使用變量,這會導致錯誤。

  因此,最好在一行上聲明變量和給變量賦值。
  即使還不知道變量要存儲什麼值,也可以賦默認值。
  對於前面顯示的那些變量,聲明和賦值代碼可以是下面這樣。
  Dim aDouble As Double = 0
  Dim aName As String = "default string"
  Dim YesOrNo As Boolean = True

======================================
2.單詞和文本:使用字符串變量來組織單詞
======================================
“字符串”是任意一系列文本字符,例如字母、數字、特殊字符和空格。

 String 變量的創建方法與其他變量一樣:
 首先聲明變量,然後爲其賦值,如下所示。

 Dim aString As String = "This is a string"
 
 將實際文本(也稱爲“字符串”)賦值給 String 變量時,
 文本必須用雙引號 ("") 括起來。
 也可使用 = 字符將一個 String 變量賦值給另一個 String 變量,
 如下例所示。
 
 Dim aString As String = "This is a string"
 ...
 Dim bString As String = ""
 bString = aString

 前面的代碼將 bString 的值設置爲與 aString (This is a string) 相同的值。
 可以使用“and”符 (&) 按順序將兩個或多個字符串合併成一個新字符串,如下所示。
 Dim aString As String = "Across the Wide"
 Dim bString As String = "Missouri"
 Dim cString As String = ""
 cString = aString & bString
 包含在 cString 中的文本現在顯示爲 Across the Wide Missouri。

========================
3.數組:表示多個值的變量
========================
 在上一課中,我們學習了使用變量存儲不同類型的數據以供程序使用。
 還有另一種稱爲“數組”的變量,
 它提供了一種便利的方法來存儲同一類型的多個值。

a.聲明一數組
------------
 例如,假設您要爲一支棒球隊設計程序,並想存儲場上所有隊員的姓名。
 您可以創建九個單獨的字符串變量,每個隊員一個,
 或者聲明一個類似於以下代碼的數組變量。

 Dim players() As String

 您可以通過在變量名稱之後加括號來聲明一個數組變量。
 如果您知道需要存儲多少個值,也可以按如下所示在聲明中指定數組的大小。

 Dim players(8) As String

 您也許會發現兩者不匹配,數組大小是 8 而棒球隊有 9 個隊員。
 這是由於數組是由許多值或“元素”所組成,以元素 0 開始,
 以聲明中指定的數字結束。
 在本例中,數組包含元素 0 到 8,總共 9 個元素。

b.爲數組賦值
------------
 與其他類型的值一樣,您需要爲數組賦值。
 爲此,需引用元素編號作爲賦值的一部分,如下所示。

 players(0) = "John"
 players(3) = "Bart"
 
 在以上代碼中,值 John 賦給數組的第一個元素(元素 0),
 值 Brett 賦給第四個元素(元素 3)。
 數組元素無需按序賦值,任何未賦值的元素都將有一個默認值,
 在本例中爲空字符串。

 與其他類型的值一樣,您可以在單獨的一行上聲明一個數組併爲它賦值,
 如下所示。

 Dim players() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9}

 在本例中,大括號表示值列表。 按照所列順序給元素賦值。
 注意,未指定數組的大小——它取決於所列項的數目。

c.從數組中檢索值
----------------
 正如在數組中用數字指定某一項的位置一樣,用元素編號來指定所要檢索的值。

 Dim AtBat As String
 AtBat = players(3)

 以上代碼檢索數組中的第四個元素並將它賦給字符串變量 AtBat。

d.示例 在數組中存儲值
---------------------
 Dim players() As String = {"Dan", "Fred", "Bart", "Carlos", _
     "Ty", "Juan", "Jay", "Sam", "Pedro"}
 Dim i As Integer = CInt(Textbox1.Text)
 MsgBox(players(i) & " is on first base.")

 注意,上面的代碼使用 CInt 函數將 String 值 (TextBox1.Text)
                       轉換爲 Integer (i)。

====================================
4.算法:創建包含變量和運算符的表達式
====================================
 表達式”是一段代碼,它執行運算並返回值。
 例如,下面展示一個簡單的加法表達式。

 5 + 4

 表達式 5 + 4 在計算時返回值 9,
 它由兩部分組成:
 執行運算的值即“操作數”(5 和 4),
 以及指定要執行的運算的“運算符”(+)。

a.使用由表達式返回的值
----------------------
 要使表達式有用,必須對返回的值進行一些處理。
 最常見的做法是將它賦給某個變量,如下所示。

 Dim anInteger As Integer = 5 + 4

 本示例聲明瞭一個名爲 anInteger 的新的 Integer 變量,
 並將 5 + 4 返回的值賦給它。

b.算術運算符
------------
 表達式常用於對變量執行運算:加法、減法、乘法或除法。
 下表描述了常用的算術運算符。

 運算符             說明                示例 

“+”(加)  返回兩個操作數之和         5 + 4
 
“-”(減)  返回兩個操作數之差         5 - 4
 
“*”(乘)  返回兩個操作數之積         5 * 4
 
“/”(除)  返回兩個操作數之商         5 / 4
 
 執行運算時使用的變量類型可影響結果。
 將兩個數相除通常導致返回的值不是整數。
 例如,3 除以 2,結果是 1.5。
 如果將此表達式的返回值賦給一個 Integer 變量,
 它將會舍入爲與其最接近的整數 2。
 執行除法時,應該使用 Double 變量存儲返回的值。

========================
5.比較:使用表達式比較值
========================
 在本課中,您將學習如何使用“比較運算符”來創建比較值的表達式。

 在上一課中,您學習瞭如何使用算術運算符創建數值表達式並返回數值。
 另一種運算符,也就是“比較運算符”,
 可用於比較數值並返回 Boolean(True 或 False)值。

 比較運算符最常用於值的比較,並通過比較作出決定。
 使程序在兩種可能的情況之間選擇:
 If...Then 語句中將會深入探討如何在程序中作出決定。

 下表總結了比較運算符:

運算符                     說明                            示例 

=(等於)    如果左邊的數字等於右邊的數字,返回 True。      5 = 4 (false)
                                                         4 = 5 (false)
                                                         4 = 4 (true)
 
<>(不等於) 如果左邊的數字不等於右邊的數字,返回 True。    5 <> 4 (true)
                                                         4 <> 5 (true)
                                                         4 <> 4 (false)
 
>(大於)    如果左邊的數字大於右邊的數字,返回 True。      5 > 4 (true)
                                                         4 > 5 (false)
                                                         4 > 4 (false)
 
<(小於)     如果左邊的數字小於右邊的數字,返回 True。     5 < 4 (false)
                                                         4 < 5 (true)
                                                         4 < 4 (false)
 
>=(大於或等於)
          如果左邊的數字大於或等於右邊的數字,返回 True。    5 >= 4 (true)
                                                          4 >= 5 (false)
                                                          4 >= 4 (true)
 
<=(小於或等於)
          如果左邊的數字小於或等於右邊的數字,返回 True。    5 <= 4 (false)
                                                          4 <= 5 (true)
                                                          4 <= 4 (true)
==========================================
6.使計算機執行某種操作:編寫您的第一個過程
==========================================
a.什麼是過程?
-------------
  過程是可以從其他代碼塊中運行的自我包含的代碼塊。
  一般而言,每個過程都包含完成一項任務所需的代碼。
  例如,您可能有一個名爲 PlaySound 的過程,此過程包含播放波形文件所需的代碼。
  雖然您可以編寫代碼以便在每次程序需要發出聲音時播放聲音,
  但創建可以從程序中的任何位置調用的一個過程更有意義。

  過程是通過在代碼中調用它來運行或執行的。
  例如,若要運行 PlaySound 過程,只需向程序中添加一行包含過程名稱的代碼,如下所示。

  PlaySound

  這樣就可以了!當程序運行到該行時,它將跳至 PlaySound 過程並執行那裏所包含的代碼。
  然後程序將跳回至緊跟在 PlaySound 調用後的下一行。

  您可以隨意調用任意多個過程。過程將按調用的順序運行。
  例如,您可能還有一個名爲 DisplayResults 的過程;
  若要在執行 PlaySounds 過程後執行它,請按如下所示調用這兩個過程。

  PlaySounds
  DisplayResults

b.函數和 Sub
------------
  有兩種過程:函數和子例程(有時也稱爲“Sub”)。
  函數對調用它的過程返回一個值,而 Sub 則只執行代碼。
  如下例所示,當向程序中添加一行包含 Sub 的名稱的代碼時,將調用對應的 Sub。

  DisplayResults

  函數則不同,因爲函數不僅執行代碼,還要返回一個值。
  例如,設想一個名爲 GetDayOfWeek 的函數,它返回一個 Integer 以指示當天是星期幾。
  可以按如下所示的方式調用此函數:
  先聲明一個存儲返回值的變量,然後將返回值賦給該變量以供以後使用。

  Dim Today As Integer
  Today = GetDayOfWeek

  在本示例中,將函數返回的值複製到名爲 Today 變量中並存儲以便稍後使用。

c.編寫過程
----------
  通過先編寫過程聲明來編寫過程。
  過程聲明執行以下幾項任務:指出過程是一個函數還是一個 Sub,命名過程,
  並詳細說明過程可能具有的任何參數(本課後面將詳細討論參數)。
  下面是一個簡單過程聲明的示例。

  Sub MyFirstSub()
  End Sub

  Sub 關鍵字通知程序此過程是一個 Sub 並且不返回值。
  緊接着是 Sub 的名稱 (MyFirstSub),空括號表示此過程沒有任何參數。
  最後,End Sub 關鍵字表示此例程的結尾。
  此 Sub 要執行的所有代碼都放在這兩行之間。

  聲明函數與此類似,但還有一個額外的步驟,
  即必須指定返回類型(例如 Integer、String 等)。
  例如,返回一個 Integer 的函數可能如下所示。

  Function MyFirstFunction() As Integer
  End Function

  As Integer 關鍵字表示此函數將返回一個 Integer 值。
  要從函數中返回值,請使用 Return 關鍵字,如下例所示。

  Function GetTheNumberOne() As Integer
    Return 1
  End Function

  此過程將返回數字 1。

d.函數和 Sub 中的參數
---------------------
  有時您需要爲過程提供其他信息。
  例如,在 PlaySound 過程中,您可能想要播放幾種不同聲音中的一種。
  您可以通過使用參數提供要播放的聲音的信息。

  參數與變量非常相像。
  它們有類型和名稱,並像變量一樣存儲信息。
  它們可以像變量一樣在過程中使用。
 
  參數和變量的兩個主要區別是:
  參數是在過程聲明中聲明的,而不是在單個代碼行中聲明的。
  參數只能在聲明它們的過程中使用。

  在過程聲明中,參數在緊跟着過程名的括號中聲明。
  As 關鍵字用來聲明類型,並且每個參數前面一般都有 ByVal 關鍵字。
  如果您不添加此關鍵字,Visual Basic 會自動添加它

  下面顯示了一個帶有參數的 Sub 的示例。

  Sub PlaySound(ByVal SoundFile As String, ByVal Volume As Integer)
  My.Computer.Audio.Play(SoundFile, Volume)
  End Sub
 
  您隨後就可以按如下所示用這些參數的值調用此 sub。

  PlaySound("Startup.wav", 1)

  也可以用與聲明 sub 參數完全相同的方式聲明函數參數。

===========================================================
7.使程序重複執行操作:用 For...Next , Do...While, Do...Until 循環執行循環
===========================================================
a.For...Next 語句
-----------------
  編寫程序時,經常需要重複操作。
  例如,假設您要編寫一個在屏幕上顯示一系列數字的方法。
  您希望根據需要多次重複顯示數字的那行代碼。
 
  For...Next 循環允許指定一個數字,然後按指定的次數重複該循環內包含的代碼。
  下面的示例說明 For...Next 循環在代碼中如何出現。

  Dim i As Integer = 0
  For i = 1 To 10
    DisplayNumber(i)
  Next
 
  For...Next 循環以“計數器變量”i 開始。
  該循環使用此變量來計算它已經執行的次數。
  下一行 (For i = 1 to 10) 告訴程序該循環的重複次數以及 i 將具有的值。

  代碼進入 For...Next 循環時,它將從包含第一個值(本例中爲 1)的 i 開始。
  然後程序執行 For 行和 Next 行之間的代碼行,
  本例中是用 i 的某個參數(本例中仍爲 1)調用 DisplayNumber 方法。

  當到達 Next 行時,將 1 添加到 i,然後程序的執行再跳回到 For 行。
  此重複直到 i 的值大於 For 行中的第二個數字(本例中爲 10)時才停止。
  這時,程序繼續執行 Next 行後的任何代碼。

b.Do...While 語句
-----------------
  例如,假設您的一個程序要將一系列數字相加,但和不能超過 100,
  這時您可以使用 Do...While 語句執行相加,如下所示:

  Dim sum As Integer = 0
  Do While sum < 100
    sum = sum + 10
  Loop

  在上述代碼中,Do While 行計算變量 sum,看它是否小於 100:
  如果是,則運行下一行代碼;否則,將移動到 Loop 之後的下一行代碼。
  Loop 關鍵字告訴代碼返回到 DoWhile 行並計算 sum 的新值。

c.Do...Until 語句
-----------------
  Do...While 語句在條件保持爲 True 時重複一個循環,
  但您有時可能希望代碼在條件變爲 True 之前重複自身。
  您可以按如下所示使用 Do...Until 語句:
 
  Dim sum As Integer = 0
  Do Until sum >= 100
    sum = sum + 10
  Loop

  此代碼與 Do...While 語句的代碼類似,只是這次代碼是計算 sum 變量,
  看它是否等於或大於 100。

  Dim sum2 As Integer = 0
  Dim counter2 As Integer = 0
  Do Until sum2 >= 100
    sum2 = sum2 + CInt(Textbox1.Text)
    counter2 = counter2 + 1
  Loop
  MsgBox("The loop has run " & CStr(counter2) & " times!")

====================================================
8.使程序在兩種可能的情況之間選擇:If...Then , Select Case 語句
====================================================
a.If...Then 語句
----------------
  程序需要執行不同的操作以響應不同的條件。
  例如,您可能希望程序檢查當天是星期幾,然後根據檢查的結果執行不同的操作。
  If...Then 語句允許您計算一個條件,然後根據此條件的結果運行代碼的不同段。

  下面的示例演示了 If...Then 語句如何執行。
 
  If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Monday Then
    MsgBox("Today is Monday!")
  End If

b.Else 子句
-----------
  您已經看到在條件爲真的情況下如何使用 If...Then 語句運行代碼,
  但如果想要在一個條件爲真時運行一組代碼,
  而在該條件爲假時運行另一組代碼,該怎麼辦呢?
  在這種情況下,可以使用 Else 子句。
  Else 子句允許您指定在某條件爲假時運行的代碼塊。
  下面的示例演示了 Else 子句如何執行。

  If My.Computer.Clock.LocalTime.DayOfWeek = DayOfWeek.Friday Then
    MsgBox("Today is Friday!")
  Else
    MsgBox("It isn't Friday yet!")
  End If

c.使用 Select Case 處理多項選擇
-------------------------------
  在這一課,您將學習使用 Select Case 語句來運行基於多個條件的代碼。

  在上一課您學習瞭如何使用 If...Then 語句對不同的條件運行不同的代碼塊。
  雖然通過使用 ElseIf 關鍵字可以在 If...Then 語句中計算兩個以上的條件,
  但 Select Case 語句提供了計算多個條件的更好方法。

  Select Case 語句允許您根據需要使用多個條件(或情況),
  方便地編寫有多種選擇情況下的代碼。
 
  Dim Number As Integer = CInt(Textbox1.Text)
  Select Case Number
    Case 1
      MsgBox("Less than 2")
    Case 2 To 5
      MsgBox("Between 2 and 5")
    Case 6, 7, 8
      MsgBox("Between 6 and 8")
    Case 9 To 10
      MsgBox("Greater than 8")
    Case Else
      MsgBox("Not between 1 and 10")
  End Select

========================================
9.出錯時怎麼辦:處理錯誤 Try...Catch...Finally 塊
========================================
  程序運行中發生的錯誤稱爲“運行時錯誤”。
  當一個程序試圖做一些其設計功能之外的事情時,便會發生運行時錯誤。
  例如,如果程序試圖執行非法操作(如將一個非數值字符串轉換爲一個數值),
  就會發生運行時錯誤。

  出現運行時錯誤時,程序會發出異常,
  以便通過在程序內查找用於處理錯誤的代碼來處理錯誤。
  如果未找到這樣的代碼,程序將停止並需要重新啓動。
  由於上述情況可能導致數據丟失,
  最好在可能預見錯誤發生的任何地方均創建錯誤處理代碼。

a.Try...Catch...Finally 塊
--------------------------
  在代碼中可以使用 Try...Catch...Finally 塊來處理運行時錯誤。
  您可以 Try 一段代碼,
  如果這段代碼發出異常,它將跳轉到 Catch 塊,然後執行 Catch 塊中的代碼。
  以上代碼執行完後,執行 Finally 塊中的所有代碼。
  整個 Try...Catch...Finally 塊由 End Try 語句結束。
  下面的示例闡釋瞭如何使用每一個塊。
 
  Try
  ' Code here attempts to do something.
  Catch
    ' If an error occurs, code here will be run.
  Finally
    ' Code in this block will always be run.
  End Try

  首先,執行 Try 塊中的代碼。
  如果運行中沒有發生任何錯誤,程序將跳過 Catch 塊並執行 Finally 塊中的代碼。
  如果 Try 塊中出現了錯誤,執行控制會立即跳轉到 Catch 塊,運行其中的代碼,
  然後再運行 Finally 塊中的代碼。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章