您的位置:首页 > 编程语言 > VB

[引]VS2005 之 Visual Basic 编程语言介绍

2007-08-29 16:59 134 查看
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 块中的代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息