VB考试教程:数组

文章作者 100test 发表时间 2007:03:10 18:28:34
来源 100Test.Com百考试题网


三、数组

1、数组的引出

数组的基本功能是存储一系列类型一致的变量,并且可以用相同名字引用这些变量,引用时用数字(索引)来识别它们(如控件数组Label1(Index))。当使用多个类型和功能一致的数据时,使用数组可以缩短和简化程序。

数组——用一个名字来代表的按一定顺序排列的一组具有相同属性、类型的数据或变量。

数组元素——数组中的每个数据或变量称为数组元素。

数组名的命名规则——和变量名的规则相同。

例如用户要记录一个班级的同学的名字,可以为每一个同学定义一个变量用来记录他们的名字,例如studentl、student2……。但是这样做显然是一种非常笨的方法,因为这些变量的类型都是相同的,并且功能相似,都是用来记录学生名字的。因此,采用数组的方法就会简单得多,利用数组只需要定义一个数组变量student(下标),然后利用数组的索引就可以识别数组中的每一个元素。如下图所示,显示了用一维数组存储学生姓名的方法。

张三 李四 王五 徐六 ……
student(l) student(2) student(3) student(4) ……

注意:

  • 用一个统一的数组名和下标来唯一地确定数组中的元素,更改其中一个元素并不会影响其它元素。
  • 数组可以声明为任何基本数据类型的数组,包括用户自定义类型,数组中的元素可以属于同一个数据类型。也可以是不同数据类型,当数据类型为Variant时,各个元素能够包含不同种类的数据(对象、字符串、数值等等)。

2、数组分类

按照长度分——可以分成两种类型的数组:一种是固定大小的数组,这种数组总是保持同样的大小称静态数组(定长数组),另一种是在运行时大小可以改变的称动态数组

按照级数分——可以分为一维数组和多维数组。

前面介绍的数组主要是一维数组,这种数组适用于存放一系列没有树型关系的一维数据,如姓名、单据等数据。但如果数据中有层次关系,例如要记录一个学校所有班级的学生记录,当然也可以用一维数组来实现,但是这样就失去了学生所在班级的信息,如果两个班级中有重名的学生,就更加无法区分。这时,利用多维数组就可以很方便地解决这一问题。

我们可以将这样的数据存储在一个二维数组中,二维数组有两个索引,第一个表示行(数组中的班级顺序),第二个表示列(班级中的成员)。如下表,显示了用二维数组存储班级成员的方法。

班级1 班级2 班级3
张三 赵伟 孔明 …0
李四 齐秦 刘备 …1
王五 王菲 孙权 …2
朱六 于明 关羽 …3
…0 …1 …2

例如王菲是第三行、第二列,可表示是为Student(2,1)。

注意:

缺省条件下,数组的第一个元素的下标为0。

在增加数组的维数时,数组所占的存储空间会大幅度增加,所以要慎用多维数组。使用Variant数组时要更加小心因为他们需要更大的存储空间。

3、数组的定义与声明

在使用数组之前,一般要声明数组,当然也可以采用隐式声明的方法。声明数组的方法与声明各种类型的变量一样,可以用Dim,Private,Public或Static来声明,只不过声明数组时需要设置数组的上下界,也就是数组下标索引的起始值和中止值。

(1)静态数组:

其声明的语法如下:

Dim│Private│Public│Static 数组名([下标下界 To]下标上界) [As 数据类型]

说明:

数组名后是圆扩弧“( )”扩起来,不能采用其它符号。

如果不指明数组的下标下界,系统默认为是0,数组的下标上界,使用长整型(Long)数据,在VB中规定上界不得超过2,147,483,647。

下标的下界不能大于下标的上界;

可以用变量名或常数名(以及实数)作为下标边界,当下标的边界是常数名时,数组的大小固定(静态数组),当下标的边界是变量名时,数组的大小可作动态定义(动态数组)。

(见教材P43):

Dim A(10) As Integer 表示数组名为A,缺省下标界为0,上界为10的有11个整型元素的数组,即:从A(0),A(1)到A(10);

Dim B(1 To 20) As Integer表示数组名为B,下标下界为1,下标上界为20的,有20个整型的元素;

Dim BirthDay (1 To 10) As Date 表示BirthDay是一个索引从1到10的Date型数组。

Dim DayArray (50)表示变量是一个有51个索引元素的Variant数组;

Public Class (10) As String 声明一个长度为11的全局整型数组Class;

Dim Matrix(3,4) As Integer 表示变量是一个二维整型数组;

Dim MyMatrix(1 To 5,4 To 9, 3 To5) As Double 表示变量是一个显示指定了上下界的三维double数组;

为数组赋初值可以采用循环语句。如:

Dim I As Integer
For I=0 To 11
C(I)=I
C(0)、C(1)、……C(11)
Next I

例题:下面的练习使用一个名为Temperatures的一维公用数组来记录一周七天的日最高气温。


相关文章


VB考试教程:VisualBasic中的过程控制
VB考试教程:使用对象集合
VB考试教程:数组
VB考试教程:常见标准函数
计算机二级Java练习题1
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛