VB1NET数据语法基础Word格式文档下载.docx

上传人:b****1 文档编号:1058252 上传时间:2023-04-30 格式:DOCX 页数:64 大小:85.97KB
下载 相关 举报
VB1NET数据语法基础Word格式文档下载.docx_第1页
第1页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第2页
第2页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第3页
第3页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第4页
第4页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第5页
第5页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第6页
第6页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第7页
第7页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第8页
第8页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第9页
第9页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第10页
第10页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第11页
第11页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第12页
第12页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第13页
第13页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第14页
第14页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第15页
第15页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第16页
第16页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第17页
第17页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第18页
第18页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第19页
第19页 / 共64页
VB1NET数据语法基础Word格式文档下载.docx_第20页
第20页 / 共64页
亲,该文档总共64页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VB1NET数据语法基础Word格式文档下载.docx

《VB1NET数据语法基础Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《VB1NET数据语法基础Word格式文档下载.docx(64页珍藏版)》请在冰点文库上搜索。

VB1NET数据语法基础Word格式文档下载.docx

正数取值范围在1.401298E+45~3.40282E38之间。

(2)Double双精度浮点型

一般浮点数字都存储为Double双精度浮点型,可以保证很高的精度,是最常用的浮点型数字类型,占用8个字节,范围在-1.79769313486231E308~-1.79769313486232E308之间。

(3)Decimal十进制

VB6.0支持Currency(贷币)数据类型,Currency变量以整数格式存储64位数字,以10000为标度,将数字表示为定点数,其小数左边为15位,右边为4位。

VB6.0的Currency数据类型的精度不够,无法避免四舍五入的误差,因些在VB.NET引入了Decimal这种数据类型。

VB.NET中将Currency数据类型转换为Decimal、Decimal变量存储带有符号(正负号)的96位整数。

三>

字节/字符/字符串型

(1)Byte字节型

这个类型的数据是从0~255的无符号整数,用来声明二进制的变量,但显示的值为十进制的。

如果要声明的变量包含二进制数据,通常将其声明为Byte型的数。

例如经常用到的颜色三组合红黄蓝即RGB三颜色分量。

(2)Char字符型

这是VB.NET中的单字符数据类型,默认为字符是Unicode字符,占用2个字节。

常常用来声明单字符的变量。

如下:

DimcharfirstAsChar

Charfirst=”A”‘声明一个Char类型的变量charfirst,并且赋给了一个值A,字符用双引号包括

(3)String字符串型

使用下列语句来声明一个字符串变量:

DimstrtextAsString

可以在上述语句的最后面加上*,再加上一个正整数来指定这个字符串变量的长度。

DimstrtextAsString*20

如果赋予字符串的长度超过了字符串的定长,那么VisualBasic.NET会自动截去超出的长度。

四>

其它数据类型

(1)Boolean布尔型

布尔型数据表示“真(True)”或“假(False)”这样的一种二值状态,简单的就是计算机中的0和1,当没有为该类型变量赋值时,初始值为Flase或0。

VB.NET的布尔值实际上有3个,+/-1都是True,而0为Flase的值。

一般情况应尽量使用True或Flase直接赋值或参与运算而不用+/-1或0代替。

这种变量只占1个字节。

(2)Data日期型

VB.NET中用Date型变量来保存日期信息。

Data在内部存储为64位整数(注意这里的位指整数的位数而不是字节的位数)。

Dimdbdata1AsData

Dbdata1=NOW()‘初始化dbdata1变量,得到当前日期。

(3)Object对象数据类型

VB.NET用Object数据类型代替了VB6.0的Variant变体数据类型。

Object变量用作指向对象的指针。

Object对象数据类型有几个特殊值。

1、Error值:

指出已发生的过程中的错误状态。

2、DBNull值:

空值,通常用于数据库应用程序,表示未知数据或丢失的数据。

可以用ISBNull函数测试Object对象数据类型变量是否包含DBNull值。

IfISDBNull(x)andISNull(y)then

2=DBNull

Then

2=0

Endif

3、Nothing值:

有时需要知道是否已将一个值赋予所创建的变量。

在赋值之前,Object对象类型变量具有值Nothing(也是空值,但表示什么都没有)。

值Nothing是不同于0,零长度字符(“”)或DBNull值的特定值。

当式中使用它,将其作为0或零长度字符串来处理,这要根据表达式来定。

只要将任何值包括0,零长度字符串或DBNull()赋予Object对象类型变量,Nothing值就会消失。

而将关键字Nothing赋予Object对象类型变量,就可将object对象类型变量恢复为Nothing。

(4)枚举类型

在程序设计中,有些数据无法直接用整型数或浮点型数来表示,必须经过某种转换,把本来不是简单地用整数来表示的问题硬用几个整数去描述,因而降低了程序的可读性。

为此,VisualBasic.NET提供了枚举数据类型。

当一个变量只有向种可能的值时,可以定义为枚举类型。

所谓“枚举”,是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。

声明格式如下:

[Public|Private]Enumname[AsType]

membname1[=initexpr1]

membname2[=initexpr2]

membnamen[=initexprn]

EndEnum

参数说明如下:

1、Public:

可选。

表示所定义的Enum类型在整个项目中都是可见的,在默认情况下,Enum类型被定义为Public。

2、Private:

表示所定义的Enum类型只在声明的模块中是可见的。

3、Enum:

声明该枚举类型的关键字。

4、name:

所定义的Enum类型的名称,必须合乎VB.NET的命名规则,在定义Enum类型的变量或参数时用该名称来指定类型。

5、type:

用来声明枚举及其所有成员的数据类型,可以是Byte、Integer等。

如果不指定type,则默认为Integer。

6、membname:

枚举成员的名称。

7、initexpr:

为创建枚举成员时计算和分配给该成员的表达式,该表达式可以包含文本、已定义的常数,另一枚举成员或文本、常数和枚举成员的任何组合,但不能在这个表达式里使用变量或函数,只能适当使用一些强制类型转换函数。

下面给出一些声明枚举变量的实例:

1、在Enum语句的格式中“initexpr”可以省略。

在默认情况下,枚举中的第一个常数被初始化为0,其后的常数则初始化为比其前面的常数大1的数值。

如:

PublicEnumDays

Sumday

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

定义了一个枚举类型Days,它包括7个成员,都略了“initexpr”,因此常数Sunday的值为0,常数Monday的值为1,常数Tuesday的值为2,等等。

2、可以用赋值的语句显式地给枚举中的常数赋值,即不省略“initexpr”。

所赋值可以是任何长整数,包括负数。

如果希望用于小于0的常数代表出错条件,则可以给枚举常数赋一个负值。

PublicEnumWorkDsys

Sunday=0

Invalid=-1

在上面的枚举中,常数Invalid显式地赋值-1,而常数Sunday被赋值0。

因为Saturday是枚举中的第一个元素,所以也被赋值0。

Monday的数值为1(比Sunday的数值大1),Tuesday的数值为2等等。

3、VisualBasic.NET将枚举中的常数数值看作整数。

如果将一个浮点数值赋给一个枚举中的常数,VisualBasic.NET会将该数值取整为最接近的整数。

4、当对一个枚举中的常数赋值时,可以使用另一个枚举中的数值。

PublicEnumWorkDays

Saturday=Days.Sturday-6

这里的Days枚举的声明与前面的声明等同。

注意:

Enum语句只能在模块、命名空间或文件级出现。

这就是说可以在源文件中或者在模块、类或结构内部声明枚举,但不能在过程内部进行声明。

在定义Enum类型之后,就可以将其用于声明变量类型,过程参数和Function返回值。

二、复合数据类型

迄今为止,我们使用的都是属于基本数据类型或简单数据类型(字符串、整型、实型等)的数据,可以通过简单变量名来访问它们的元素。

除基本数据类型外,VisualBasic.NET还提供了复合数据类型,包含数组、结构和集合。

复合数据类型是按照一定规则组成的元素类型的数据,元素类型又称基类型,它可以是简单数据类型,也可以是复合数据类型。

对于复合数据类型来说,不能用一个简单变量名来访问它的某个元素。

数组

在实际应用中,常常需要处理同一类型的成批数据。

例如,为了处理100个学生某门课程的考试成绩,可以用S1、S2、S3……S100来分别代表每个学生的分数,其中S1代表第一个学生的分数,S2代表第二个学生的分数……。

这里的S1、S2…、S100是带有下标的变量,通常称为下标变量。

显然,用一批具有相同名字、不同下标的变量来表示同一属性的一组数据,能更清楚地表示它们之间的关系。

在VisualBasic.NET中,把一组具有同一名字、不同下标的下标变量称为数组。

Str(8)。

其中S称为数组名,8是下标,上标为0。

一个数组,如果只用一个下标就能确定一个数组元素在数组中的位置,则称为一维数组。

而由两个或多个下标变量所组成的数组称为二维数组或多维数组。

1、静态数组

在VisualBasic.NET里,数组下界总是从0开始,不能改变,并且它们基于数组中的元素的数量被定义。

Dimintmyarray(10)AsInteger

该元素从intmyarray(0)开始,直到intmyarray(10)结果,共11个元素。

2、动态数组

数组到底应该有多大才合适,有时可能不得而知,所以希望能够在运行时具有改变数组维数大小的能力。

VisualBasic.NET中,固定大小数组通过Dim语句声明,在些语句中必须指出数组的维数及大小。

动态数组也是先在Dim语句中声明,但不指定大小,只需要声明其类型,即数组名后的()内为空,最多只有“,”分隔开每个维。

声明定义之后的数组还不能直接赋值。

在使用动态数组之前,再通过ReDim语句重新确定动态数组上界大小,Rem之后才可以赋值或参与运算。

VisualBasic.NET中的ReDim语句仅用于为数组分配或重新分配空间,而不能重新声明数组,一旦在最开始用Dim语句确定了其维数之后,就再也不能改变其维数的数目。

如从二维扩大到三维,或从三维退到一维,唯一能改变的就是数组的大小,即数组上下界。

另外,也不能通过ReDim改变数组类型。

动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:

首先用Dim或Public声明一个没有下标的数组(括号不能省略),然后在过程中用ReDim语句定义带下标的数组。

DimTestVar()AsInteger

DimSInteger

PrivateSubBubbon1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EvenArgs)HandlesButton1.Click)

S=InputBox(“请输入数组大小”,”数组输入”,”10”)

ReDimTesVar(S)

……

EndSub

该例先在窗体层用Dim语句声明了一个空数组TesVar和一个变量S,然后在按钮事件过程中用ReDim语句定义该数组,下标S在运行时输入。

ReDim语句的一般格式为:

ReDim[Preserve]变量(下标)

该语句用来重新定义动态数组,按定义的上界重新分配存储单元。

当重新分配动态数组时,数组中的内容被清除,但如果ReDim语句使用了Preserve选择项,则不清除数组内容。

在ReDim语句中可以定义多个动态数组,但每个数组必须事先用DimVariable()(一维数组)或DimVariable(,)(二维数组)这种形式进行声明,在括号中省略上界,在用ReDim语句重新定义时指定数组下标的上界。

DimStuName(),Address(),City()AsString

ReDimStuName(sn),Address(sn),City(sn)

ReDim只能出现在事件过程或通用过程中,用它定义的数组是一个“临时”数组,即在执行数组所在的过程时为数组开辟一定的内存空间,当过程结束时,这部分内存即被释放。

对动态数组的具体说明如下:

(1)动态数组分两次定义,第一次用Dim、Public、Private等语句定义,只有类型,不指定维数;

第二在ReDim语句定义,给出具体的维数和上界。

对于一维数组来说,第一次定义时,数组名的后面带有一对圆括号,例如temp();

而对于二维数组来说,第一次定义时,数组名后面的圆括号中有一个逗号,例如temp(,),依此类推。

(2)可以多次用ReDim语句定义同一个数组,随时修改数组中元素的个数,例如:

PrivateSubButton1_Click(ByvalsenderAsSystem.Object,ByValeAsSystem.EvenArgs)HandlesButton1.Click

Dimtemp()AsString

RemTemp(4)

Temp

(2)=”Microsoft”

Msgbox(temp

(2))

ReDimtemp(6)

Temp(5)=”VisualBasic.NET”

Msgbox(temp(5))

在事件过程中,开始时用ReDim定义的数组Temp有5个元素,然后再一次用ReDim把temp数组定义为7个元素。

但是注意,只能改变元素的个数,不能改变数组的维数。

(3)在用ReDim重新定义动态数组时,可以使用可选的Preserver关键字。

如果不使用该关键字,则原来数组中的数据将被清除,而如果使用了该关键字,则原来数组中的数据将被传送到新建立的数组中。

3、数组的清除和重定义

数组一经定义,便在内在中分配了相应的存储空间,其大小是不能改变的。

也就是说,在一个程序,同一个数组只能定义一次。

有时候,可能需要清除数组的内容或对数组重新定义,这时可以用Erase语句实现。

格式为:

Erase数组名[,数组名]…

Erase语句用来重新初始化静态数组的元素,或者释放动态数组的存储空间,它只能出现在过程中。

注意,在Erase语句中,只给出要刷新的数组名,不带括号和下标。

例如:

EraseTest

对数组清除和重定义的具体说明如下。

(1)当把Erase语句用于静态数组时,如果这个数组是数值数组,则把数组中的所有元素置为0;

如果是字符串数组,则把所有元素置为空字符串;

如果是结构数组,则根据每个元素(包括定长字符串)的类型重新进行设置。

如下表:

Erase语句对静态数组的影响

数组类型

Erase对数组元素的影响

数值数组

将每个元素设为0

字符串数组(变长)

将每个元素设为零长度字符串(“”)

Object数组

将每个元素设为Empty

结构数组

将每个元素作为单独的变量来设置

对象数组

将每个元素设为Nothing

(2)当把Erase语句用于动态数组时,将删除整个数组结构并释放数组所占用的内存。

也就是说,动态数组经Erase后即不复存在;

而静态数组经Erase后仍然存在,只是其内容被清空。

(3)Erase释放动态数组所使用的内存。

在下次引用该动态数组之前,必须用ReDim语句重新定义该数组。

例:

编写程序,试验Erase语句的功能。

PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click

DimTest(10),iAsInteger

Debug.WriteLine(“”)

Fori=0to10

Test(i)=i

Debug.Write(Str(Test(i))&

“”)

Nexti

EraseTest

Debug.WriteLine(“EraseTest()”)

ReDimTest(12)

Fori=0to12

Debug.Write(Str(Text(i))&

在上面的事件过程,定义了一个数组Text,用For循环语句为每个元素赋值,并输出每个元素的值,然后执行Erase语句,将各元素的值清除,再用ReDim语句重新定义数组Text,使得每个元素的值为0。

ReDim是不能直接定义数组的,但从这个例子可以看出,在用Erase清除一个数组后,可以用ReDim语句重新定义该数组。

4、默认数组与嵌套数组

在VisualBasic.NET中,允许定义默认数组,并可用一个数组作为另一个数组的元素,即数组嵌套。

(1)默认数组

默认数组就是默认数据类型的数组。

在一般情况下,定义数组应指明其类型,如:

StaticElec(100)AsInteger

定义了一个数组Elec,该数组的类型为整型,它有101个元素,每个元素都是一个Integer数。

如果把上面的定义改为:

StaticElec(100)

则定义的数组是默认数组,其类型默认为Object,因此,该定义等价于:

StaticElec(1to100)AsObject

从表面上看,定义默认数组似乎没有什么意义,实际上不然。

几乎在所有的程序设计中,一个数组各个元素的数据类型都要求相同,即一个数组只能存放同一种类型的数据。

而对于默认数组来说,同一个数组中可以存放各种不同的数据。

因此,默认数组可以说是一种“混合数组”。

请看下例:

编写程序,试验默认数组的功能。

PrivateSubForm1_Click(ByValsenderAsObject,ByValAsSystem.EvenArgs)HandlesMyBase.Click

StaticDefau(5)

DimiAsShort

Defau(0)=”清华大学”

Defau

(1)=100

Defau

(2)=234.56

Defau(3)=”BeiJing”

Defau(4)=Now

Defau(5)=&

HAAF

Fori=0to5

Debug.WriteLine(“Defau(“&

i&

“)=“&

Defau(i))

该事件过程定义了一个表态数组Defau(默认数组一般应定义为静态的),然后对各元素赋予不同类型的数据,包括整形、实型、日期和时间类型及十六进制整型。

(1)嵌套数组

在一般情况下,数组元素是一个具体的数据。

而在VisualBasic.NET中,可以用数组作为另一个数组的元素,这样的数组称为嵌套数组。

注意,嵌套数组必须是默认数组(即Object类型),而被嵌套的数组必须是标准数据类型数组。

在实际应用中,通常把整个被嵌套数组赋给嵌套数组中的某个元素,在赋值语句中写上被嵌套数组的名字,后面加上一对空括号。

Dima(4)AsInteger

Dimb

(2)

Fori=1to4

a(i)=i*i

Nexti

b

(1)=a()

该例首先定义了两个数组,其中a为整型数组,b为默认数据类型(即Object)数组,在循环语句中为数组a各元素赋值,然后执行“b

(1)=a()”,即可把数组a作为数组b的第一个元素。

在这种情况下,数组a中的各元素可以这样表示:

b

(1)

(1)

b

(1)

(2)

b

(1)(3)

b

(1)(4)

5、数组的初始化

定义数组的目的在于使用数组。

而为了使用数组,就要给数组的各个元素赋初值,然后引用指定的元素。

在使用数组时,通常要求数组有初值。

当然可以用赋值语句或输入语句使数组中的元素得到值,但这样做会占用运行时间。

为些,VisualBasic.NET允许在定义数组时对各元素指定初始值,称为数组的初始化。

在VisualBasic6.0以前的版本中,数组元素的初始值用Array函数实现,而在VisualBasic.NET中,给数组赋初始值的方法与C语言类似。

(1)一维数组的初始化:

Dim数组名()As类型={值1,值2,值3,……,值n}

VisualBasic.NET不允许对显式指定上界的数组进行初始化,因此“数组名”后面的括号中必须为空,根据具体初值的个数确定数组的上界,需要赋给各元素的初值放在等号后面的花括号中,数据之间用逗号隔开。

Dima()AsShort={2,4,6,8,10}

定义了一个Short型数组a,该数组有5个初值,因此数组的上界为4,即a(4)。

经过上述定义和初始化后,把花括号中的值依次赋给各数组元素,使得a(0)=2,a

(1)=4,a

(2)=6,a(3)=8,a(4)=10。

类似地,对字符串数组也可以初始化。

Dimc()AsString={“Liu”,”De”,”Rong”}

定义了一个字符串数组c,该数组有3个初值,因此数组的上界为2,即c(3)。

经过上述定义和初始化后,把花括号中的值依次赋给数组元素,使得c(0)=”Liu”,c

(1)=”De”,c

(2)=”Rong”

(2)二维数组的初始化:

Dim数组名(,)As类型={{第一行值},{第二行值},……,{第n行值}}

如:

Dimarr(,)AsShort={{1,2,3,4},{5,6,7,8},{9,10,11,12}}

定义了一个二维数组,它有3行4列,即arr(2,3)。

(3)多维数组的初始化:

与二维数组的相同。

6、ForEach……Next语句

ForEach……Next语句类似于For

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2