Lesson 2 | 一些基础知识

来源:互联网 发布:如何远程打开端口23 编辑:程序博客网 时间:2024/04/30 09:37

基础知识:编程的工作机制

在集中精力开始学习 Visual Basic“编程语言”之前,了解什么是编程语言及其原理(包括一些编程术语)可能对您有帮助。最好的学习起点是从基础知识开始。

编程原理

就计算机自身而言,它并不聪明。

计算机本质上不过是一大堆或开或关的微小电子开关。通过设置这些开关的不同组合,可以使计算机做一些事情,例如在屏幕上显示某些内容或发出声音。这就是最简单的编程概念:告诉计算机做什么。

当然,了解哪些开关组合能使计算机做您想做的事是一件极其困难的任务,这也是编程语言产生的原因。

什么是编程语言?

人们通过使用由很多词语组成的语言来表达自己的思想。而计算机使用一种只包含 1 和 0 的简单语言,其中 1 表示“开”,0 表示“关”。尝试用计算机自己的语言与其交谈就好像尝试用摩尔斯电报码与朋友交谈一样——是可以这样做,但是为什么要这样做呢?

编程语言相当于您和计算机之间的翻译。您不必学习计算机自己的语言(即“机器语言”),而是可以使用编程语言,以一种更易于学习和理解的方式向计算机发出指令。

一种称为“编译器”的专用程序接受用编程语言编写的指令,并将这些指令转换为机器语言。这意味着作为 Visual Basic 程序员,并不需要了解计算机在做什么或者它是怎么做的,而只需要了解 Visual Basic 编程语言的工作原理即可。

Visual Basic 语言的内部结构

在许多方面 Visual Basic 与您日常使用的语言非常类似。当您说话或写作时会用到不同类型的词,例如名词或动词,这些类型定义了各自的用法。Visual Basic 也有不同类型的词(称作“编程元素”),这些编程元素定义了各自在编程中的用法。

Visual Basic 中的编程元素包括“语句”、“声明”、“方法”、“运算符”和“关键字”。学完以下课程后,您会了解到有关这些元素及如何使用它们的更多信息。

书面语和口语也有规则或“语法”来定义句子中词语的顺序。Visual Basic 也有语法,它乍看上去可能很奇怪,但实际上非常简单。例如,表达“我的汽车的最大速度是 55”这个意思时,可编写如下代码:

Car.Speed.Maximum = 55

以后您将学习关于语法的更多信息,Visual Basic 中的工具(如 IntelliSense)在编程时可为您提供如何正确使用语法的指导。

书面语和口语也具有结构:例如,一本书内有章节,章节内有段落,段落内有句子。用 Visual Basic 编写的程序也具有结构:“模块”相当于章节,“过程”相当于段落,而“代码行”相当于句子。

 

使用变量表示字、数字和值

“变量”是计算机编程中的一个重要概念。变量是一个可以存储值的字母或名称。创建计算机程序时,可使用变量来存储数字,例如建筑物的高度,或者存储单词,例如人的名字。简单地说,可使用变量表示程序所需的任何信息。

您可能会问:“既然我可以使用信息,为什么要用变量?”正如其名称所表示的,变量可以随着程序的运行而改变其表示的值。例如,您可以写一个程序来跟踪桌子上罐里的软心豆粒糖的数目。因为糖是要被吃掉的,所以罐里软心豆粒糖的数目可能会随着时间的推移而改变。您可以使用一个可随时间变化的变量来表示软心豆粒糖的数目,而无需在每次想吃糖时重写程序。

在变量中存储信息

使用变量有三个步骤:

  1. 声明变量。告诉程序要使用的变量的名称和种类。

  2. 给变量赋值。赋予变量一个要保存的值。

  3. 使用变量。检索保存在变量中的值,并将它用于程序中。

声明变量

声明变量时,必须决定其名称和为其分配什么样的“数据类型”。

使用 Dim 和 As“关键字”来声明变量,如下所示。

Visual Basic 
Dim aNumber As Integer

这行代码告诉程序您要使用一个名为 aNumber 的变量,并且希望它是存储整数(Integer 数据类型)的变量。

因为 aNumber 是一个 Integer,所以它只能存储整数。例如要存储 42.5,需使用 Double 数据类型。如果要存储一个单词,需使用 String 数据类型。另外一种在此值得一提的数据类型是 Boolean,它可存储 TrueFalse 值。

下面是关于如何声明变量的更多示例。

Visual Basic 
Dim aDouble As DoubleDim aName As StringDim YesOrNo As Boolean

有关其他变量类型的更多信息,请参见详细了解:数据类型

给变量赋值

使用 = 符号(该符号有时称作“赋值运算符”)给变量赋值,如下例所示。

Visual Basic 
aNumber = 42

这行代码的值为 42,它存储在先前声明的名为 aNumber 的变量中。

声明变量和用默认值给变量赋值

如上所示,您可以在一行代码上声明变量,然后在另一行上赋值。但是,如果尝试在赋值前使用变量,这会导致错误。

因此,最好在一行上声明变量和给变量赋值。即使还不知道变量要存储什么值,也可以赋默认值。对于前面显示的那些变量,声明和赋值代码可以是下面这样。

Visual Basic 
Dim aDouble As Double = 0Dim aName As String = "default string"Dim YesOrNo As Boolean = True

通过在单独的一行上声明变量并赋给默认值,可以避免可能发生的错误。以后仍可以使用赋值方法为变量赋给不同的值。

试一试!

在本练习中,您要写一个小程序来创建四个变量并为其赋值,然后在一个称为“消息框”的窗口中显示每个值。首先我们将创建存储代码的项目。

创建项目

  1. 如果尚未打开 Visual Basic,则可从 Windows 的“开始”菜单中打开它。

  2. 在“文件”菜单上,单击“新建项目”。

  3. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。

  4. 在“名称”框中键入 Variables,再单击“确定”。

    Visual Basic 将为程序创建文件并打开“窗体设计器”。

下一步,我们将创建变量。

创建变量并显示它们的值

  1. 双击该窗体。

    代码编辑器打开并显示名为 Form1_Load 的代码节。这节代码(称为“过程”)包含在窗体首次加载到内存中时执行的指令。

  2. Form1_Load 过程中,键入以下代码。

    Visual Basic 
    Dim anInteger As Integer = 42Dim aSingle As Single = 39.345677653Dim aString As String = "I like candy"Dim aBoolean As Boolean = True

    此代码声明四个变量:Integer、Single、String 和 Boolean,并给它们赋默认值。

    Note提示

    键入代码时,您可能会注意到:在键入 As 后,光标下会出现一个单词列表。此功能称为“Intellisense”。利用这一功能,您只需键入一个单词的前几个字母,便可以在列表中选择相应的单词。完成选择后可以按 Tab 键完成单词。

    Note注意

    每当表示程序中的实际文本时,必须用双引号 ("") 将文本括起来。这会告诉程序将文本解释为实际文本而不是变量名。给 Boolean 变量赋 True 或 False 值时,不要用双引号将其括起来,因为 True 和 False 是 Visual Basic 关键字,其本身有特殊的含义。

  3. 在上一步写的代码下键入以下代码。

    Visual Basic 
    MsgBox(anInteger)MsgBox(aSingle)MsgBox(aString)MsgBox(aBoolean)
    Visual Basic 
    End

    前四行代码使用 MsgBox“函数”告诉程序在新窗口中显示上一步所赋的每个值。最后一行使用 End 语句告诉程序在执行完此过程后结束。

  4. 按 F5 运行程序。

    在出现的每个窗口上单击“确定”。注意每个变量的值依次显示,然后程序结束。程序结束后,您可以返回并更改代码中所赋的值,然后再次运行应用程序,您会看到显示的新值。

 

单词和文本:使用字符串变量来组织单词

在本课中,您将学习如何使用 String 数据类型来表示字和文本。

在上一课中,您学习了如何在程序中使用变量来存储数据,以及每个变量都必须是要存储的数据的适当类型。在本课中,您将学习有关 String (用于存储文本)数据类型的更多内容。

什么是字符串?

“字符串”是任意一系列文本字符,例如字母、数字、特殊字符和空格。字符串可以是人可读懂的词组或句子,例如“The quick brown fox jumps over the lazy dog”,或者是明显无法识别的组合,例如“@#fTWRE^3 35Gert”。

String 变量的创建方法与其他变量一样:首先声明变量,然后为其赋值,如下所示。

Visual Basic 
Dim aString As String = "This is a string"

将实际文本(也称为“字符串”)赋值给 String 变量时,文本必须用双引号 ("") 括起来。也可使用 = 字符将一个 String 变量赋值给另一个 String 变量,如下例所示。

Visual Basic 
    Dim aString As String = "This is a string"

...

Dim bString As String = "" bString = aString

前面的代码将 bString 的值设置为与 aString (This is a string) 相同的值。

可以使用“and”符 (&) 按顺序将两个或多个字符串合并成一个新字符串,如下所示。

Visual Basic 
Dim aString As String = "Across the Wide"Dim bString As String = "Missouri"Dim cString As String = ""cString = aString & bString

前面的示例声明三个 String 变量,并将“Across the Wide”和“Missouri”分别赋给前两个变量,再将前两个变量的合并值赋给第三个变量。您认为 cString 的值是多少?您了解到该值为 Across the WideMissouri 时可能会很奇怪,因为 aString 的结尾或 bString 的开头没有空格。两个字符串简单地连接在一起。如果想要在两个字符串之间添加空格或任何其他内容,则必须使用字符串(如 " ")进行添加,如下所示。

 Visual Basic 
Dim aString As String = "Across the Wide"Dim bString As String = "Missouri"Dim cString As String = ""cString = aString & " " & bString

包含在 cString 中的文本现在显示为 Across the Wide Missouri

试一试!

联接字符串

  1. 在“文件”菜单上,单击“新建项目”。

  2. 在“新建项目”对话框中:

    1. 在“模板”窗格中,单击“Windows 应用程序”。

    2. 在“名称”框中键入 Concatenation。

    3. 单击“确定”。

    一个新的 Windows 窗体项目随即打开。

  3. 双击该窗体以打开代码编辑器。

  4. 在 Form1.Load 事件过程中,声明四个字符串变量并给字符串赋值,如下所示:

    Visual Basic 
    Dim aString As String = "Concatenating"Dim bString As String = "Without"Dim cString As String = "With"Dim dString As String = "Spaces"
  5. 添加以下代码来串连字符串并显示结果:

    Visual Basic 
        MsgBox(aString & bString & dString)    ' Displays "ConcatenatingWithoutSpaces"

    ...

    MsgBox(aString & " " & cString & " " & dString) ' Displays "Concatenating With Spaces"

    消息框中显示的文本是将在上一步中已赋值的字符串变量联接起来的结果。在第一个框中,字符串在联接在一起时没有使用空格。在第二个框中,每个字符串之间都显式插入了空格。

 

数组:表示多个值的变量

在本课中,您将学习如何使用“数组”来存储一组值。

在上一课中,我们学习了使用变量存储不同类型的数据以供程序使用。还有另一种称为“数组”的变量,它提供了一种便利的方法来存储同一类型的多个值。

例如,假设您要为一支棒球队设计程序,并想存储场上所有队员的姓名。您可以创建九个单独的字符串变量,每个队员一个,或者声明一个类似于以下代码的数组变量。

Visual Basic 
Dim players() As String

您可以通过在变量名称之后加括号来声明一个数组变量。如果您知道需要存储多少个值,也可以按如下所示在声明中指定数组的大小。

Visual Basic 
Dim players(8) As String

您也许会发现两者不匹配,数组大小是 8 而棒球队有 9 个队员。这是由于数组是由许多值或“元素”所组成,以元素 0 开始,以声明中指定的数字结束。在本例中,数组包含元素 0 到 8,总共 9 个元素。

为数组赋值

与其他类型的值一样,您需要为数组赋值。为此,需引用元素编号作为赋值的一部分,如下所示。

Visual Basic 
players(0) = "John"players(3) = "Bart"

在以上代码中,值 John 赋给数组的第一个元素(元素 0),值 Brett 赋给第四个元素(元素 3)。数组元素无需按序赋值,任何未赋值的元素都将有一个默认值,在本例中为空字符串。

与其他类型的值一样,您可以在单独的一行上声明一个数组并为它赋值,如下所示。

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

在本例中,大括号表示值列表。按照所列顺序给元素赋值。注意,未指定数组的大小——它取决于所列项的数目。

从数组中检索值

正如在数组中用数字指定某一项的位置一样,用元素编号来指定所要检索的值。

Visual Basic 
Dim AtBat As StringAtBat = players(3)

以上代码检索数组中的第四个元素并将它赋给字符串变量 AtBat

试一试!

在数组中存储值

  1. 在“文件”菜单上,选择“新建项目”。

  2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。

  3. 在“名称”框中,键入 MyFirstArray,然后单击“确定”。

    一个新的 Windows 窗体项目随即打开。

  4. 将一个“Button”控件从“工具箱”中拖动到窗体上。

  5. 将一个“Button”控件从“工具箱”中拖动到窗体上。

  6. 双击“Button”以打开代码编辑器。

  7. 在 Button1_Click 事件过程中,添加以下代码:

    Visual Basic 
    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)。可以在详细了解:转换变量类型中了解有关转换的更多信息。

  8. 按 F5 运行程序。

  9. 在文本框中键入 0 到 8 之间的一个数字,然后单击此按钮。消息框中将显示与该元素对应的名称。

 

算法:创建包含变量和运算符的表达式

在本课中,您将学习如何创建表达式以执行运算并返回值。

“表达式”是一段代码,它执行运算并返回值。例如,下面展示一个简单的加法表达式。

5 + 4

表达式 5 + 4 在计算时返回值 9,它由两部分组成:执行运算的值即“操作数”(54),以及指定要执行的运算的“运算符”(+)。

使用由表达式返回的值

要使表达式有用,必须对返回的值进行一些处理。最常见的做法是将它赋给某个变量,如下所示。

Visual Basic 
Dim anInteger As Integer = 5 + 4

本示例声明了一个名为 anInteger 的新的 Integer 变量,并将 5 + 4 返回的值赋给它。

算术运算符

表达式常用于对变量执行运算:加法、减法、乘法或除法。下表描述了常用的算术运算符。

运算符 说明 示例

“+”(加)

返回两个操作数之和

5 + 4

“-”(减)

返回两个操作数之差

5 - 4

“*”(乘)

返回两个操作数之积

5 * 4

“/”(除)

返回两个操作数之商

5 / 4

执行运算时使用的变量类型可影响结果。将两个数相除通常导致返回的值不是整数。例如,3 除以 2,结果是 1.5。如果将此表达式的返回值赋给一个 Integer 变量,它将会舍入为与其最接近的整数 2。执行除法时,应该使用 Double 变量存储返回的值。

Note注意

您也可以使用 Visual Basic 中的转换函数将变量从一种数据类型转换成另一种数据类型。有关更多信息,请参见详细了解:转换变量类型

试一试!

添加数字

  1. 在“文件”菜单上,选择“新建项目”。

  2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。

  3. 在“名称”框中键入 Arithmetic,然后单击“确定”。

    一个新的 Windows 窗体项目随即打开。

  4. 将两个“Textbox”控件从“工具箱”中拖动到窗体上。

  5. 将一个“Button”控件从“工具箱”中拖动到窗体上。

  6. 双击“Button”以打开代码编辑器。

  7. 在 Button1_Click 事件过程中,键入以下代码。

    Visual Basic 
    Dim A As Double = Textbox1.TextDim B As Double = Textbox2.TextMsgBox(A + B)MsgBox(A - B)MsgBox(A * B)MsgBox(A / B)

    头两行声明变量 AB(它们将存储此程序中使用的数值),并将两个 TextBox 控件的值(它们的文本)赋给变量 AB

    最后四行用这两个变量和每一种基本算术运算符创建表达式,并将这些表达式的结果显示在消息框中。

  8. 按 F5 运行应用程序。

  9. 在每个文本框中键入一个数字并单击“Button1”。

    Note注意

    如果在文本框中输入任何其他字符,将会发生错误。

    使用您输入的两个数字和四种基本算术运算符(加、减、乘和除)的每一种创建表达式。消息框中显示了每个表达式的结果。

 

比较:使用表达式比较值

在本课中,您将学习如何使用“比较运算符”来创建比较值的表达式。

在上一课中,您学习了如何使用算术运算符创建数值表达式并返回数值。另一种运算符,也就是“比较运算符”,可用于比较数值并返回 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)

试一试!

比较表达式

  1. 在“文件”菜单上,单击“新建项目”。

  2. 在“新建项目”对话框的“模板”窗格中,单击“Windows 应用程序”。

  3. 在“名称”框中键入 Comparison,再单击“确定”。

    一个新的 Windows 窗体项目随即打开。

  4. 将两个“Textbox”控件从“工具箱”中拖动到窗体上。

  5. 将一个“Button”控件从“工具箱”中拖动到窗体上。

  6. 双击“Button”以打开代码编辑器。

  7. 在 Button1_Click 事件处理程序中,键入以下代码。

    Visual Basic 
    Dim A As Double = CDbl(Textbox1.Text)Dim B As Double = CDbl(Textbox2.Text)MsgBox(A > B)MsgBox(A < B)MsgBox(A = B)

    前两行声明变量 AB,这两个变量将保存此程序中使用的数值;这两行使用 CDbl 语句将来自 Textbox1Textbox2 的文本转换为数值。最后三行使用三个基本的比较运算符来创建表达式以比较这两个变量,并以三个消息框显示那些表达式的结果。

  8. 按 F5 运行应用程序。

  9. 在每个文本框中键入一个数字并单击“Button1”。

    如果 A(您在第一个文本框中输入的数字)大于 B(您在第二个文本框中输入的数字),第一个消息框将显示 True;否则将显示 False。如果 A 小于 B,第二个消息框将会显示 True;如果两个数字相等,第三个消息框将会显示 True。

    尝试在文本框中键入不同的数字,观察结果如何改变。

原创粉丝点击