版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vb数组基础主讲人:陈柳斌Vb数组基础主讲人:陈柳斌
数组是有序的数据的集合。在其它语言中,数组中的所有元素都属于同一个数据类型,而在VisualBasic中,一个数组中的元素可以是相同类型的数据,也可以是不同类型的数据。数组是有序的数据的集合。在其它语言中,数组中的所有元8.1数组的概念8.2静态数组与动态数组8.3数组的基本操作8.4数组的初始化8.5控件数组8.1数组的概念8.2静态数组与动态数组8.38.1数组的概念数组用于表示一组性质相同的有序的数,这一组数用一个统一的名称来代替,称为数组名。数组中的每一个元素称为数组元素。数组中的每一个元素可以用数组名和下标唯一地表示。数组中下标的个数称为数组的维数。8.1数组的概念数组用于表示一组性质相同的有序的数,这一8.1.1数组的定义
数组应当先定义后使用。在计算机中,数组占据一块内存区域,数组名是这个区域的名称,区域的每个单元都有自己的地址,该地址用下标表示。定义数组的目的就是通知计算机为其留出所需要的空间。8.1.1数组的定义数组应当先定义后使用。在计算VisualBasic中,可以用4个语句来定义数组,这4个语句格式相同,但适用范围不一样:
DimReDimStaticPublic
以上4个语句都可以用来定义数组,下面以Dim语句为例来说明数组定义的格式,当用其他语句定义数组时,其格式是一样的。VisualBasic中,可以用4个语句来定义数组在定义数组时,VB提供了两种格式:1.第一种格式:Dim<数组名>(<下标上界>)[As<类型>]DimArrayDemo(5)AsIntegerArrayDemo(0)ArrayDemo(1)ArrayDemo(2)ArrayDemo(3)ArrayDemo(4)ArrayDemo(5)定义了一个一维数组,该数组的名字为ArrayDemo,类型为Integer(整型),共有6个数组元素。在定义数组时,VB提供了两种格式:Dim<数组名>(<下标上DimTest(2,3)AsIntegerTest(0,0)Test(0,1)Test(0,2)Test(0,3)定义了一个二维数组,该数组的名字为Test,类型为Integer(整型),共有3行,4列,12个数组元素。Dim<数组名>(第一维下标上界,第二维下标上界)[As<类型>]Test(1,0)Test(1,1)Test(1,2)Test(1,3)Test(2,0)Test(2,1)Test(2,2)Test(2,3)第0行第1行第2行第0列第1列第2列第3列DimTest(2,3)AsIntegerT说明:(1)数组名的命名规则,与简单变量相同(2)数组必须先定义,后使用(3)当用Dim语句定义数组时,会进行数组元素初始化(4)默认下标下界为0,可通过OptionBase语句来设置(5)要注意区分“可以使用的最大下标值”和“元素个数”说明:1.第二种格式:Dim<数组名>[<下界1>To]<上界1>,[<下界2>To]<上界2>,…As类型DimPopulation(1949To2000)DimAge(10To100)在某些情况下,使用To能更好地反映对象的特性。1.第二种格式:Dim<数组名>[<下界1>To]<上说明:(1)数组名要做到见名知义。(2)数组名不能与变量名相同。(3)在定义数组时,元素下标必须是常数,不能是变量或表达式,即使事先给出变量的值也是错误的。(4)可以定义数据后再指定数组的类型。(5)数组的下界都必须小于上界。说明:8.1.2默认数组
在VisualBasic中,允许定义默认数组。所谓默认数组,就是数据类型为Variant(变体型)的数组。StaticElec(1to100)相当于StaticElec(1to100)AsVariant对于默认数组来说,同一个数组中可以存放各种不同的数据。8.1.2默认数组在VisualBasic中,8.2静态数组与动态数组在VB中,根据数组元素的个数能否变化,数组分为静态数组和动态数组。静态数组:数组元素的个数固定不变。动态数组:数组元素的个数在运行时可以改变。
使用动态数组就可以在任何时候改变其大小,并且可以在不需要时清除动态数组所占的存储空间。因此,使用动态数组更加灵活、方便,并有助于高效管理内存。8.2静态数组与动态数组在VB中,根据数组元素的个数能否8.2.1动态数组的定义(2)在过程级使用下面的ReDim语句分配数组的实际元素个数。Public|Private|Dim|static<数组名>()[As<数据类型],…ReDim<数组名>(<维数定义>)[As<类型>],…这里的<维数定义>通常包含变量或表达式,但其中的变量或表达式应有明确的值。定义动态数组需要分以下两步进行:(1)在模块级或过程级按以下格式定义一个没有下标的数组。8.2.1动态数组的定义(2)在过程级使用下面的ReDi说明1)ReDim语句只能出现在过程中。与Dim语句不同,
ReDim语句是一个可执行语句。2)可以用ReDim语句反复改变数组元素及维数的数目。3)在定义动态数组的两个步骤中,如果用步骤(1)定义了数组的类型,则不允许用步骤(2)改变类型。4)每次执行ReDim语句时,当前存储在数组中的值会全部丢失。VB重新对数组元素进行初始化,即将可变类型数组元素值置为Empty,将数值型数组元素值置为
0,将字符串类型数组元素值置为零长度字符串。说明Dimthis()AsStringSubCommand_Click()
ReDimthis(4)this(2)="Microsoft
"Printthis(2)
ReDimthis(6)this(2)="Microsoft
"Printthis(2)EndSubDimthis()AsString8.2.2数组的清除和重定义
要清除数组的内容或对数组重新定义,这可以用Erase语句来实现。其格式如下:Erase<数组名>[,<数组名>],…
注意,在Erase语句中,只给出要刷新的数组名,不带括号和下标。例如:EraseTest8.2.2数组的清除和重定义要清除数组的内容或对数组重几点说明:(1)当把Erase语句用于静态数组时,则清空数组元素的值(2)当把Erase语句用于动态数组时,则删除数组(3)当把Erase语句用于变体数组时,则每个元素重置为空(4)Erase释放动态数组所使用的内存。几点说明:8.3数组的基本操作建立一个数组之后,可以对数组或数组元素进行操作。数组的基本操作包括输入、输出及复制,这些操作都是对数组元素进行的。ForEach…Next语句可用于对数组的操作。8.3数组的基本操作建立一个数组之后,可以对数组或数组元8.3.1数组元素的输入、输出和复制1.数组的引用数组的引用通常是指对数组元素的引用,其方法是,在数组后面的括号中指定下标,例如:x(8),y(2,3),z%(3)要注意区分数组定义和数组元素!!8.3.1数组元素的输入、输出和复制1.数组的引用x(在引用数组时,应注意以下几点:(1)在引用数组元素时,数组名、类型和维数必须与定义数组时一致。(2)如果建立的是二维或多维数组,则在引用时必须给出两个或多个下标。(3)引用数组元素时,其下标值应在建立数组时所指定的范围内。在引用数组时,应注意以下几点:2.数组元素的输入(1)通过赋值语句来实现数组元素的输入。(2)通过循环语句来实现数组元素的输入。(3)通过InputBox函数输入。DimA(4)AsIntegerForI=1To4
A(I)=I
NextIDimA(4)AsString
A(1)="Zhang"
A(2)="Wang"
A(3)="Li"
A(3)="Zhao"2.数组元素的输入DimA(4)AsInteger3.数组元素的输出数组元素的输出可用Print方法来实现。Fori=1to4Forj=1to4Printa(i,j);"";NextjNexti3.数组元素的输出Fori=1to44.数组元素的复制单个数组元素可以像简单变量一样从一个数组复制到另一个数组。为了复制整个数组,仍要使用For循环语句。…ReDimname1(10),name2(10)…Fori=1To10name2(i)=name1(i)NextI4.数组元素的复制…[例8.2]从键盘上输入10个整数,用冒泡排序法进行排序。[例8.2]从键盘上输入10个整数,用冒泡排序法进行排序。8.3.2ForEach…Next语句ForEach…Next循环可以用来对数组中的所有元素重复进行类似的操作,语法格式为:ForEach成员In数组循环体
[ExitFor]……Next[成员]8.3.2ForEach…Next语句ForEachDimX(15)
ForEachAInX
PrintA;
NextA例如:[例]用ForEach…Next语句,求1+2+3+…+100的值。DimX(15)
ForEachAInXPrivateSubCommand1_Click()Dimx(100),aFori=1To100x(i)=iNexti
ForEachaInx()s=s+a
NextaLabel1.Caption=sEndSubPrivateSubCommand1_Click()8.4数组的初始化所谓数组的初始化,就是给数组的各元素赋初值。为此,VisualBasic提供了Array函数。利用该函数,可以使数组在程序运行之前初始化,得到初值。8.4数组的初始化所谓数组的初始化,就是给数组的各元素赋数组变量名=Array(数组元素值)Array函数用来为数组元素赋值,其格式为:这里的“数组变量名”是预先定义的数组名,在“数组变量名”之后没有括号。之所以称为“数组变量”,是因为它作为数组使用,但作为变量定义,它既没有维数,也没有上下界。“数组元素值”是需要赋给数组各元素的值,各值之间以逗号分开。StaticNumbersAsVariantNumbers=Array(1,2,3,4,5)数组变量名=Array(数组元素值)Array函
注意,数组变量不能是具体的数据类型,只能是变体(Variant)类型。一般来说,数组变量可以通过以下方法定义:(1)显式定义为Variant变量。(2)在定义时不指明类型(3)不定义而直接使用。Array函数只适用于一维数组,即只能对一维数组进行初始化,不能对二维数组或多维数组进行初始化。注意,数组变量不能是具体的数据类型,只能是变体(Varia8.5控件数组控件数组是由一组相同类型的控件组成,这些控件共用一个相同的控件名字,具有相同的属性设置。数组中的每个控件都有一个唯一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024建筑设计合同范文
- 智能化健身科技促进个人健康管理考核试卷
- 旅行社职工合同范例
- 橡胶制品的市场渗透与战略合作考核试卷
- 废钢供应合同范例
- 天然气综合利用与能源转型考核试卷
- 2021年主管护师(儿科护理)资格考试题库
- 2021年中医助理医师考试题库及答案解析(单选题)
- 服装设计师的创造力与创新能力考核试卷
- 物业停车位合同模板
- 工业厂房设计规划方案
- 安全生产检查咨询服务投标方案(技术方案)
- 急性粒细胞白血病护理查房
- 公司安全部门简介
- 危废仓库建筑合同
- 中医外科临床诊疗指南 烧伤
- (2024年)《口腔医学美学》课件
- 物业公司消防知识培训方案
- 门诊护患沟通技巧(简)
- GH/T 1419-2023野生食用菌保育促繁技术规程灰肉红菇
- ISO9001:2015标准内容讲解
评论
0/150
提交评论