前面两节课程,我们已经将数组的概念、数组的分类以及如何声明数组一起深入的学习过了。本节课程vb 数组,我们学习数组的基本操作。数组的基本操作包含:数组元素的输入输出、插入和删除元素、查询等。
数组元素的输入
在数组声明后,数组元素的值均为其数据类型的初始值,比如数值型初始值为0。因此,通常在正式使用数组前,我们需要为数组赋值。为数组元素赋值有几种方式。
方式一:
像为变量赋值一样,逐一为每个元素赋值。
例如:
Dim Student(1 To 3) as String
A(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 j
Next i
该方法,也可以在其中使用函数来实现交互式输入。
数组元素的输出
所谓数组元素的输出就是获取数组元素的值。其方法与访问变量值类似。直接使用数组名(下标)的方式即可取出元素值。
举例:
以上面,数组元素的输入中方式三的例子来说,获取数组A的每个数组元素并打印出来,代码如下:
For i=1 To 9
For j=1 To 9
Print "第" & i & "-" & j & "个数组元素为:"& A(i,j)
Next j
Next i
数组元素的插入
数组的插入是指在数组指定位置插入一个新的元素,其后面的元素全部依次往后顺延,其效果如下面两张图片所示:
由于对数组插入新的元素后,将会改变数组的长度,因此该方法只能针对动态数组而言。
例:
Option Explicit
Private 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 Explicit
Option 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 If
End Sub
程序代码截图如下:
好了,关于数组的基本操作,本节课程先讲到这么多。下节课程,学习数组的排序。我们下节课再见。
限时特惠:本站持续每日更新海量各大内部创业课程,一年会员仅需要98元,全站资源免费下载
点击查看详情
站长微信:Jiucxh