前面两节课程,我们已经将数组的概念、数组的分类以及如何声明数组一起深入的学习过了。本节课程vb 数组,我们学习数组的基本操作。数组的基本操作包含:数组元素的输入输出、插入和删除元素、查询等。

数组元素的输入

在数组声明后,数组元素的值均为其数据类型的初始值,比如数值型初始值为0。因此,通常在正式使用数组前,我们需要为数组赋值。为数组元素赋值有几种方式。

方式一:

像为变量赋值一样,逐一为每个元素赋值。

例如:

Dim Student(1 To 3) as StringA(1)="张三"A(2)="李四"A(3)="王五"

方式二:

采用Array函数为动态数组赋值,可以一次赋值多个元素。注意,此方法只能为变体型的动态数组赋值。

例如:

Dim Grade()Grade=Array(76,88,65,92)

说明:

Array函数语法格式如下:语法:Array(arglist)作用:返回一个包含数组的 Variant。

Array函数中,所需的 参数是一个用逗号隔开的值表,这些值用于给 所包含的数组的各元素赋值。如果不提供参数,则创建一个长度为0的数组。

方式三:

使用循环语句为数组中的元素赋值,此方法通常用于数据量较大时。

例如,为一个9*9的二维数组随机赋值1-100之间的数,代码如下:

Dim A%(1 To 9,1 To 9)Dim i%,j%For i=1 To 9    For j=1 To 9                A(i,j)=100*rnd()+1    Next jNext i

该方法,也可以在其中使用函数来实现交互式输入。

数组元素的输出

所谓数组元素的输出就是获取数组元素的值。其方法与访问变量值类似。直接使用数组名(下标)的方式即可取出元素值。

举例:

以上面,数组元素的输入中方式三的例子来说,获取数组A的每个数组元素并打印出来,代码如下:

For i=1 To 9    For j=1 To 9                Print "第" & i & "-" & j & "个数组元素为:"& A(i,j)    Next jNext i

数组元素的插入

数组的插入是指在数组指定位置插入一个新的元素,其后面的元素全部依次往后顺延,其效果如下面两张图片所示:

由于对数组插入新的元素后,将会改变数组的长度,因此该方法只能针对动态数组而言。

例:Option ExplicitPrivate Sub Command1_Click()        Dim A(), i%                '为数组赋值        A = Array(1, 2, 3, 4)
'打印插入前的数组 For i = 0 To 3 Print "A(" & i & ")=" & A(i) & " ";     Next i             '重新定义数组,增加1个元素 ReDim Preserve A(4)
'将数组元素重新赋值 A(4) = A(3) A(3) = A(2) A(2) = A(1) A(1) = 6
Print '换行
'打印插入后的数组 For i = 0 To 4 Print "A(" & i & ")=" & A(i) & " ";     Next i    End Sub

运行效果如图所示:

删除数组元素

数组元素的删除与数组元素的插入是类似的,都会改变数组的长度vb 数组,一个是增加长度,而另一个则是减少长度。其效果如下图所示:

数组元素的查找

查找操作,即需要在数组中查找指定的数据。需要采用遍历方法,即采用循环结构,将数组中的每一个元素取出,并与需要的数据比对,看是否是需要的结果。

举例,在一个二维数组中,存储了一个班级的学生姓名以及对应的成绩,输入一个学生姓名后,可以查找其对应的成绩,如果没有查到则提示无此学生。

程序界面如下:

程序代码如下:

Option ExplicitOption Base 1   '声明数组下标从1开始Dim Student$(9, 2)  '定义二维数组
Private Sub Form_Load() Dim i%
'输入学生姓名 Student(1, 1) = "孙悟空": Student(2, 1) = "猪八戒": Student(3, 1) = "达摩" Student(4, 1) = "韩信": Student(5, 1) = "刘邦": Student(6, 1) = "项羽" Student(7, 1) = "李白": Student(8, 1) = "小乔": Student(9, 1) = "大乔"
'为每个学生随机一个成绩 For i = 1 To 9 Randomize Student(i, 2) = Int(50 * Rnd + 50)    Next i End Sub
Private Sub Command1_Click() Dim i% Text2.Text = ""
'遍历法查找学生姓名 For i = 1 To 9 If Student(i, 1) = Text1.Text Then Text2.Text = Student(i, 2) '找到后将其成绩赋值给Text2文本 Exit For '退出循环 End If Next i
'如果Text2文本框为空,说明没有找到该学生 If Text2.Text = "" Then MsgBox "无此学生" End IfEnd Sub

程序代码截图如下:

好了,关于数组的基本操作,本节课程先讲到这么多。下节课程,学习数组的排序。我们下节课再见。


限时特惠:
本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情

站长微信:Jiucxh

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注