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 塊中的程式碼。
相關文章
- 特性(C# 和 Visual Basic) BASIC 快速建模特性的程式語言C#
- 兒童程式語言small basic
- groovy 程式語言簡單介紹
- 程式語言BASIC程式設計師的啟蒙語言C程式程式設計師
- Visual Basic.NET 中的語言新變化 (轉)
- Go語言介紹Go
- VS2005入門之DATASET介紹
- JavaScript 函數語言程式設計介紹JavaScript函數程式設計
- 解釋語言介紹
- TIOBE 2016年4月程式語言排行榜:Visual Basic即將出局
- PureBasic 現代 BASIC 程式語言編輯器
- IT程式設計各學科語言的介紹程式設計
- python之程式語言(簡介)01Python
- 主流程式語言的介紹及特點
- javascript函數語言程式設計簡單介紹JavaScript函數程式設計
- 函數語言程式設計實用介紹(下)函數程式設計
- 函數語言程式設計實用介紹(上)函數程式設計
- 主流程式語言的“介紹”與“選擇”
- Python基礎入門之Python語言介紹Python
- 最具有價效比的語言javascript之介紹篇JavaScript
- java語言的入門介紹Java
- Kotlin語言極簡介紹Kotlin
- 各種語言的介紹(轉)
- C#和Visual Basic之匿名型別C#型別
- Visual Basic for ApplicationAPP
- 從 BASIC 到 Ruby:入門程式語言的體悟
- C#實現多語言介面程式的方法介紹C#
- 如何高效的向新手程式設計師們介紹程式語言?程式設計師
- Visual Basic 程式設計標準(1) (轉)程式設計
- PureBasic for Mac(BASIC語言編輯器)MacC語言
- BASIC 語言誕生 50 週年
- BASIC語言誕生50週年C語言
- 語言型別介紹及其Python的語言型別型別Python
- C語言-GCC的簡單介紹C語言GC
- 系統整合語言Ballerina介紹
- TCL指令碼語言基礎介紹指令碼
- [譯]用javascript實現一門程式語言-AST的介紹JavaScriptAST
- Java中函數語言程式設計Monad概念介紹Java函數程式設計