详细介绍VB编程中的数组

开发 后端
前面几篇给大家分享了JAVA中的数组的一些知识,本文为大家介绍VB中的数组,希望对你有帮助,一起来看。

数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。下面主要介绍VB中的数组。

1、数组的概念

(1) 引例

若我们要求一个班60个学生的平均成绩,然后统计高于平均分的人数。按以前简单变量的使用和循环结构相结合,求平均成绩程序段如下:

  1. Dim ave As Single, sum As Single, mark As Single 
  2. Dim i As Integer 
  3. ave = 0  
  4. sum = 0  
  5.  
  6. For i = 1 To 6  
  7. mark = InputBox("输入第" & i & "个学生的成绩")  
  8. sum = sum + mark  
  9. Next 
  10. ave = sum / 6  
  11. Print "平均分是:"; ave 

但若要统计高于平均分的人数,则无法实现。mark是一个简单变量,存放的是最后一个学生的成绩。已有知识解决方法:再重复输入成绩,带来两个问题:

(1)输入数据的工作量成倍增加;

(2)若本次输入的成绩与上次不同,则统计的结果不正确。

解决此问题的根本方法,引入数组,始终保持输入的数据,一次输入,多次使用。

(2)数组的概念

数组就是把有限个类型相同的变量用同一个名字命名,然后用编号区分它们的变量的集合。这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。

在引例中,可以定义一个数组mark(1 to 60),记录60个学生的成绩,如果第一个学生的成绩是90分,则mark(1)=90;如果第2个学生的成绩为80分,则mark(2)=80,第60个学生的成绩为96分,则mark(60)=96,依此类推。

2、数组的定义。

声明数组的一般格式如下:

Dim 数组名([下界 to ] 上界 [,[下界 to ] 上界…])As 数据类型

对于VB的数组,表示数组元素时应注意:

① 下标要紧跟在数组名后,而且用圆括号括起来(不能用其他括号);

② 数组名的命名与变量名的命名规则相同;

③ 下标可以是常量、变量或表达式,但其值必须是整数(如果是小数将四舍五入为整数);

④ 数组中可以存储数据的个数是由下标的下界和上界决定的,当下界省略时,默认的下界值为0。

  1. Dim x(10 to 20) As Integer ‘下标范围是10~20,可保存11个数据  
  2. Dim y(1 to 20) As Integer ‘下标范围是1~20,可保存20个数据  
  3. Dim z(20) As String ‘下标范围是0~20,可保存21个数据 

⑤ 通过指定数组名和下标来使用数组中的元素,下标可以是一个表达式。例如:

  1. x(10)=100  
  2. x(11)=150  
  3. z(1)=“Visual Basic”  
  4. i=10  
  5. y(i+5)=30 

⑥ 在同一数组中,数组变量的类型必须是声明时指定的数据类型。下面的情形是不允许的:x(10)= “Visual Basic”
但是,因为把一个数值赋给一个字符串类型的变量时,系统会自动进行类型转换,所以下面的语名是允许的:z(2)=100

⑦ 如果数组只有一个下标则称为一维数组,但有许多场合一个下标是不够的。例口,在电影院确定位置,要有行数和位数(如第3行8号),如果要用一个数组来记录这种位置就得有两个下标。 如:

  1. Dim x(1 to 20,1 to 30) As Integer 

有几个下标的数组就称为几维数组(VB最多允许60维)。

⑧ 数组应该在使用前定义。定义数组用“Dim”语句。例如:

  1. Dim Cscore(1 to 40) As Single, K(20,30) As Long 

这个Dim浯句定义了两个数组。数组Cscore足Single类型的一维数组,有40个分量,下标的下界是1,上界是40。而数组K(20,30)是Long型的二维数组,下标省略了下界(对省略下界的情况VB自动用0做下界),它的第一维的下标范围是0—20,第二维的下标范围是0—30,数组K有2l x 31=651个分量。
 
⑨ 对于预先不能确定数组元素个数情形,可以使用动态数组。声明一个动态数组的方法是:在声明数组时不指定下标范围,当明确下标范围时,用ReDim语句再次声明该数组。例如:

  1. Dim x() As Integer ‘声明数组时不指定下标范围 

当数组x的元素明确后(例如20个),则用ReDim语句声明如下:

  1. ReDim x(20) 

如果动态数组的元素个数需要多次改变,可以多次应用ReDim语句。为了保留数组中原有的数据,必须在使用ReDim语句时使用Preserve关键字。例如要把数组x的元素个数改为30,并保留原来的20个元素中的数据,声明语句如下:

  1. ReDim Preserve x(30) 

由于第一次用Dim语句声明数组时已经指定了数组的类型,因此不能在ReDim语句中再次用As关键字来指定数组的类型。

3、数组元素的输入和输出。

数组元素往往有很多,因此输入和输出有时需要用一些比较特殊的方法。

数组元素的输入,可以使用赋值语句、文本框、InputBox函数等等。

数组元素输出时,一般可以考虑两种方法:

①用PRINT方法直接输出到窗体,但当数据量大时难以实现数据的滚动;

②使用控件,如标签、文本框等,并且设置滚动条。

4、数组的应用

判断程序运行结果

  1. Private Sub Command1_Click()  
  2. Dim i As Integer 
  3. Dim a(1 To 10) As Integer 
  4. For i = 1 To 10  
  5. a(i) = 2 * i + 1  
  6. Next i  
  7. For i = 1 To 5  
  8. Print a(2 * i - 1);  
  9. Next i  
  10. End Sub 

希望通过本文的介绍,可以对初学者有帮助。

【编辑推荐】

  1. VB.NET和ASP.NET编码规范
  2. 详解VB.NET变量声明的方法
  3. 盘点VB.NET对话框制作技巧
  4. VB.NET实现图象文件和XML文件互换
  5. VB程序员如何编写高质量的VB代码
责任编辑:于铁 来源: 百度空间
相关推荐

2009-10-28 09:55:29

VB.NET MyCl

2009-11-10 12:42:47

VB.NET Prin

2009-10-12 15:02:51

VB.NET动态控件

2010-01-21 16:45:00

VB.NET继承规则

2010-01-08 13:35:35

VB.NET写Log方

2010-01-07 15:25:11

VB.NET数组

2009-06-11 10:00:05

Java Socket

2010-01-08 09:43:21

VB.NET汉字转换

2009-11-10 12:48:17

VB.NET三维模型

2017-10-30 16:50:41

Linuxconst

2009-11-17 14:33:38

PHP数组循环操作

2009-10-23 17:22:48

VB.NET编程

2010-01-08 15:03:12

VB.NET类属性

2011-07-20 13:57:06

C++STL

2011-07-22 14:55:20

多线程

2011-06-28 11:06:16

Scala

2011-07-12 17:42:46

PHP

2010-01-07 16:40:13

VB.NET一维数组

2011-06-21 14:25:44

JavaScriptcookie

2011-07-08 16:54:39

JspCookies
点赞
收藏

51CTO技术栈公众号