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 块中的代码。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值