第 2 章 数据类型及操作

42
第2第 第第第第第第第 2.1 第第 2.2 第第 2.3 第第第第 2.4 第第 2.5 第第第第第第第 2.6 第第第第第第第 2.7 第第第第第第第

Upload: dean

Post on 22-Jan-2016

91 views

Category:

Documents


6 download

DESCRIPTION

第 2 章 数据类型及操作. 2.1 常量 2.2 变量 2.3 数据类型 2.4 数组 2.5 自定义数据类型 2.6 标识符命名规则 2.7 运算符和表达式. 2.1 常量. 2.1.1 定义常量 2.1.2 使用常量. 返回首页. 2.1.1 定义常量. 1.声明自定义常量 标识 符 2.设定用户自定义常量标识符的范围. 返回本节. 2.1.2 使用常量. 一旦已经定义了常量标识符,就可将它们放置在代码中,尤其是当 标识 符为有意义的名称时,可以使源代码更加便于阅读。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 第 2 章 数据类型及操作

第 2 章 数据类型及操作

2.1 常量 2.2 变量 2.3 数据类型 2.4 数组 2.5 自定义数据类型 2.6 标识符命名规则 2.7 运算符和表达式

Page 2: 第 2 章 数据类型及操作

2.1 常量

2.1.1 定义常量 2.1.2 使用常量

返回首页

Page 3: 第 2 章 数据类型及操作

2.1.1 定义常量

1 .声明自定义常量标识符2 .设定用户自定义常量标识符的范围

返回本节

Page 4: 第 2 章 数据类型及操作

2.1.2 使用常量 一旦已经定义了常量标识符,就可将它们放置

在代码中,尤其是当标识符为有意义的名称时,可以使源代码更加便于阅读。

当需要对常量值作修改时,只需要在常量标识符定义处做改动,显然这有利于提高源程序的可维护性。

返回本节

Page 5: 第 2 章 数据类型及操作

2.2 变量

2.2.1 声明变量 2.2.2 变量范围①

2.2.3 显式声明和隐式声明 2.2.4 组合声明

返回首页

Page 6: 第 2 章 数据类型及操作

2.2.1 声明变量 声明变量就是事先将变量通知程序,由此使变

量的使用合法。 声明变量时需要指明:变量名(变量标识符)

和变量类型。其中,变量类型被用来确定变量能够存储的数据的种类。

声明变量的语法如下: Dim/Private/Public/ Static 变量名 [As 类型 ]

返回本节

Page 7: 第 2 章 数据类型及操作

2.2.2 变量范围①

1 .过程级变量2 .模块级变量3 .公共变量

返回本节

Page 8: 第 2 章 数据类型及操作

2.2.3 显式声明和隐式声明1 .隐式声明 为方便用户使用, Visual Basic 具有较大的灵活

性,其表现在变量声明时则是:在使用一个变量之前并不必先声明这个变量。

2 .显式声明 显式声明就是对于每个需要使用的变量都在使

用前采用声明语句定义。一旦遇到一个未经明确声明就当成变量的名字, Visual Basic 都发出错误警告。由此可以避免写错变量名引起的麻烦。

返回本节

Page 9: 第 2 章 数据类型及操作

2.2.4 组合声明 可以使用一条声明语句将多个声明组合起来,

方法是在多个被声明的变量之间用“ ,” 号隔开。如下列语句:

Dim I As Integer, Amt As Double

Private YourName As String, BillsPaid As Currency

Public Test,Amount, J As Integer

返回本节

Page 10: 第 2 章 数据类型及操作

2.3 数据类型

2.3.1 用于保存数值的数据类型 2.3.2 String 数据类型 2.3.3 Boolean 数据类型 2.3.4 Date 数据类型 2.3.5 Object 数据类型 2.3.6 转换数据类型 2.3.7 Variant 数据类型 2.3.8 数据范围

返回首页

Page 11: 第 2 章 数据类型及操作

2.3.1 用于保存数值的数据类型 Visual Basic 支 持 几 种 数 值 数 据 类 型 —

Integer ( 整 型 ) 、 Long ( 长 整型)、 Single (单精度浮点型)、 Double (双精 度 浮 点 型 ) 、 Currency ( 货 币 型 ) 。 另外, Byte (字节型)也可用于数值计算。

返回本节

Page 12: 第 2 章 数据类型及操作

2.3.2 String 数据类型 由数字组成的字符串可以赋予数值变量。也可将数值赋

予字符串变量。例如以下语句: Dim intX As Integer

Dim strY As String, strZ As String

strY = "100.23"

intX = strY ' 将字符串传递给数值变量 strZ = Cos (strY) ' 将余弦值传递给字符串变量 在以上操作中, Visual Basic 会自动强制数据值为适当

的数据类型。

返回本节

Page 13: 第 2 章 数据类型及操作

2.3.3 Boolean 数据类型 若变量的值只是 true/false 、 yes/no 、 on/off 信息,

则可将它声明为 Boolean 类型。 Boolean 的默认值为 False 。在下面的例子中, blnRunning 是 Boolean 变量,存储简单的 yes/no 设置。

Dim blnRunning As Boolean

' 查看磁带是否在转 If Recorder.Direction = 1 Then

blnRunning = True

End if

返回本节

Page 14: 第 2 章 数据类型及操作

2.3.4 Date 数据类型 用于存储 Date 和 Time 值, Visual Basic 接受许多种

文字的 Date 和 Time 格式。例如: Dim SomeDate As Date

SomeDate = #1980-03-16#

SomeDate = #3-6-93 13:20#

SomeDate = #March 27 , 1993 1:20am# 当把数值数据转换为 Date 类型,或存储到 Date 类型的

变量时,小数点左边的值表示 Date 信息,小数点右边的值则代表 Time 。午夜为 0 ,正午为 0.5 。负数表示公元 1899 年 12 月 31 日之前的 Date 。

返回本节

Page 15: 第 2 章 数据类型及操作

2.3.5 Object 数据类型 Object 变量采用 32 位( 4 个字节)地址来存

储对象,该地址可引用当前应用程序中或其他应用程序中的对象。可以通过 Set 语句而指定一个被声明为 Object 的变量去引用应用程序所能够识别的任何实际对象,例如:

Dim objDb As Object

Set objDb = OpenDatabase ("c:\Vb5\Biblio.mdb")

返回本节

Page 16: 第 2 章 数据类型及操作

2.3.6 转换数据类型

表 2-1 转换函数

转换函数 将表达式转换成 转换函数 将表达式转换成

Cbyte ByteCSng

Single

Ccur CurrencyCStr

String

Cdate DateCvar

Variant

CDbl DoubleCVErr

Error

Cint Integer   

返回本节

Page 17: 第 2 章 数据类型及操作

2.3.7 Variant 数据类型 Variant 型是声明变量时的默认类型,能够存储

所有类型的数据。如果把数据赋予 Variant 变量,则不必在这些数据的类型间进行转换, Visual Basic 会自动完成任何必要的转换。

除了可以像其他标准数据类型一样操作外, Variants 还包含 3 种特定值:Empty 、 Null 和 Error 。

Page 18: 第 2 章 数据类型及操作

1 . Empty 值:有时需要知道是否已将一个值赋予所创建的变量。在赋值之前, Variant 变量具有值 Empty 。

2 . Null 值: ull 通常用于数据库应用程序,表示未知数据或丢失的数据。

3 . Error 值:用来指出已发生过程中的错误状态的特定值。

返回本节

Page 19: 第 2 章 数据类型及操作

2.3.8 数据范围

表 2-2 数据存储空间大小与取值范围

Page 20: 第 2 章 数据类型及操作

返回本节

Page 21: 第 2 章 数据类型及操作

2.4 数组

2.4.1 固定大小的数组 2.4.2 建立包含其他数组的数组 2.4.3 多维数组 2.4.4 动态数组

返回首页

Page 22: 第 2 章 数据类型及操作

2.4.1 固定大小的数组

1 .语法 Dim/Private/Public/ Static 数 组 名([ 下界 To ] 上界 ) [As 数据类型 ]

建立公用数组,在模块的声明段用 Public 语句声明数组。

建立模块级数组,在模块的声明段用 Dim 或Private 语句声明数组。

建立局部数组,在过程内用 Dim 、 Private 或Static 语句声明数组。

Page 23: 第 2 章 数据类型及操作

2 .设定上下界 声明数组时,需要在数组名之后跟一组用括号括起来的

数,由此确定数组的下界、上界。下界、上界的取值在Long 数据类型所确定的范围内。默认的下界为 0 。例如:

Dim Counters (1 To 15) As Integer '15 个元素,索引号从 1 到 15 。

Dim Sums (100 To 120) As String '21 个元素,索引号从 100 到 120 。

Dim Counters (14) As Integer '15 个元素,索引号从 0 到 14 。

返回本节

Page 24: 第 2 章 数据类型及操作

2.4.2 建立包含其他数组的数组 通过建立 Variant 数据类型的数组,可以使几

个数组共居一处。创建过程是:建立工程,在工程中建立窗体 Form1 ,在窗体中设置命令按钮 Command1 。然后建立 Command1 的 Click事件过程程序。

Private Sub Command1_Click ()

Dim intX As Integer ‘ 声明计数器变量’声明并放置整数数组

Dim countersA (5) As Integer

For intX = 0 To 4

Page 25: 第 2 章 数据类型及操作

countersA (intX) = 5

Next intX

' 声明并放置字符串数组 Dim countersB (5) As String

For intX = 0 To 4

countersB (intX) = "hello"

Next intX

Dim arrX (2) As Variant ' 声明拥有两个成员的新数组 arrX (1) = countersA () ' 将其他数组移居到 arrX 数组 arrX (2) = countersB ()

MsgBox arrX (1) (2) ' 显示 arrX 数组中的成员 MsgBox arrX (2) (3)

End Sub

返回本节

Page 26: 第 2 章 数据类型及操作

2.4.3 多维数组

1 .声明多维数组的语法 Dim/Private/Public/ Static 数组名([ 下界 1 To ] 上界 1,[ 下界 2 To ] 上界2,…, [ 下界 i To ] 上界 I) [As 数据类型 ]

2 .多维数组声明举例 Static MatrixA (9, 9) As Double ' 声明 10 × 10 的二维数组

Dim MultiD (3, 1 To 10, 1 To 15) ' 声明 4 × 10 × 15 的三维数组

Page 27: 第 2 章 数据类型及操作

3 .用循环嵌套处理多维数组Dim I As Integer, J As Integer

Static MatrixA(1 To 10, 1 To 10) As Double

For I = 1 To 10

For J = 1 To 10

MatrixA (I, J) = I * 10 + J

Next J

Next I

返回本节

Page 28: 第 2 章 数据类型及操作

2.4.4 动态数组

1 .创建动态数组的步骤( 1 )声明动态数组,与声明固定大小的数组类似,但给数组附以一个空维数表。

( 2 )通过在应用程序中执行 ReDim 语句,给数组指定维数和分配实际的元素个数。

Page 29: 第 2 章 数据类型及操作

2 .在 ReDim 语句中使用 Preserve 关键字 一般情况下,每次执行 ReDim 语句时,当前

存储在数组中的值都会全部丢失。 Visual Basi重新将数组元素的值置为 Empty 、置为 0 、置为零长度字符串、置为 Nothing 。其好处是可以更有效地利用内存。

但有时又希望既能改变数组大小又不丢失数组中的数据。这时就需要在 ReDim 语句中使用 Preserve 关键字。例如:

ReDim Preserve DynArray (4 to 20)

返回本节

Page 30: 第 2 章 数据类型及操作

2.5 自定义数据类型 在模块的声明部分可以使用 Type 语句建立自定义数据

类型。语法格式如下: [Private|Public] Type 自定义类型名 元素 As 类型 [ 元素 As 类型 ]

End Type 自定义数据类型实质上是由一些基本类型的数据元素构

成的结合体。其作用是:一旦用 Type 语句建立了自定义类型后,即可把它当作独立的数据类型用来声明自定义类型的变量。

返回首页

Page 31: 第 2 章 数据类型及操作

2.6 标识符命名规则

( 1 )标识符由字母( A~Z 和 a~z )、数字( 0~9 )或下划线( _ )组成。

( 2 )长度不能超过 255 个字符。( 3 )自定义的标识符不能和 Visual Basic 中的运

算符、语句以及系统已有的函数、过程名等关键字同名,同时也不能与系统已有的方法和属性同名。

返回首页

Page 32: 第 2 章 数据类型及操作

2.7 运算符和表达式

2.7.1 赋值运算符 2.7.2 算术运算符 2.7.3 比较运算符 2.7.4 连接运算符 2.7.5 逻辑运算符 2.7.6 运算符优先顺序

返回首页

Page 33: 第 2 章 数据类型及操作

2.7.1 赋值运算符 Visual Basic 中的赋值运算符“ =” 用来给变量、

数组或对象的属性赋值,即把运算符右边的内容(包括常量、变量、函数返回值或对象的属性)赋给运算符左边的变量或属性。语法格式如下:

Variable = 表达式 其中 Variable 可以是变量、数组的元素、变长

数组或运行时可写的对象属性。表达式可以是常数值、常量标识符、变量、表达式或函数调用等。其中,表达式必须有确定的值。

返回本节

Page 34: 第 2 章 数据类型及操作

2.7.2 算术运算符1 .加运算符( X + Y ) 功能:用来求 X 和 Y 两个数值表达式之和。2 .减运算符( X – Y ) 功能:用来求 X 、 Y 两个数值表达式之差。3 .乘运算符( X * Y ) 功能:用来求 X 、 Y 两个数值表达式的乘积。4 .除运算符( X / Y ) 功能:用来进行 X 除以 Y 的运算并返回一个

浮点数。

Page 35: 第 2 章 数据类型及操作

5 .整除运算符( X \ Y ) 功能:用来进行 X 除以 Y 的运算并返回一个

整数。6 .求模运算符( X Mod Y ) 功能:用来进行 X 除以 Y 的运算并且只返回

余数。7 .乘方运算符( X ^ Y ) 功能:乘方运算,用来求 X 的 Y次方。

返回本节

Page 36: 第 2 章 数据类型及操作

2.7.3 比较运算符 比较运算符包括: < (小于) 、 <= (小于或等

于)、 > (大于)、 >= (大于或等于)、 <>(不等于)和 = (等于) ,用来反映两个数值或字符串表达式之间的关系。关系成立,返回True (真);关系不成立,返回 False (假);两个表达式中若有 Null ,则返回 Null 。

比较运算符使用说明,如表 2-3 所示。

Page 37: 第 2 章 数据类型及操作

表 2-3 比较运算符的应用结果

如果 则

两个表达式都是数值 进行数值比较

两个表达式都是字符串 进行字符串比较

一个表达式是数值而另一个是字符串 数值表达式小于字符串表达式

返回本节

Page 38: 第 2 章 数据类型及操作

2.7.4 连接运算符 & 、 + 运算符都能用于两个字符串的连接,但

& 运算符强制两个表达式按字符串连接,尽管被连接的表达式不是字符串也是如此。而 + 运算符则较复杂,当两个表达式都是字符串时按字符串连接,否则视具体情况会有不同结果。因此,在进行字符串连接时,一般使用 & 运算符。

表 2-4 对 & 和 + 运算符的效果给出了比较。

Page 39: 第 2 章 数据类型及操作

表 2-4 & 和 + 运算符的比较

X Y X & Y X + Y

"1234" "5" "12345" "12345"

1234 5 "12345" 1239

"1234" 5 "12345" 1239

"123A" 5 "123A5" 报错

返回本节

Page 40: 第 2 章 数据类型及操作

2.7.5 逻辑运算符 逻 辑 运 算 符 包 括 :

Not (非)、 And (与)、 Or (或)、 Xor(异或)、 Equ (逻辑等于)和 Imp (逻辑蕴涵),用于表达两个逻辑表达式之间的关系。在进行逻辑运算时,只要参与运算的表达式中有一个为 Null ,则将返回 Null 。

各逻辑运算符的运算结果比较,如表 2-5 所示。

Page 41: 第 2 章 数据类型及操作

表 2-5 逻辑运算符运算结果比较

返回本节

Page 42: 第 2 章 数据类型及操作

2.7.6 运算符优先顺序

( 1 )算术运算符优先级由高至低是:指数运算( ^ )、负数(–)、乘法和除法( * 和 / )、整数除法( \ )、求模运算( Mod )、加法和减法( + 和 –)、字符串连接( & )。

( 2 )逻辑运算符优先级由高至低是:Not 、 And 、 Or 、 Xor 、 Eqv 、 Imp 。

返回本节