小明想写一个软件,记录全班每人的成绩,于是他写了这个来保存数据:
定义 学生数据{ 学生名字:____(填入一串字符) 语文成绩:____(填入一个数字) 数学成绩:____(填入一个数字) 英语成绩:____(填入一个数字) }
只要有个学生就添加这么个 学生数据,然后把各项输进去就可以了。
后来,小明的写的这个成绩在全县出了名,很多人墙裂要求能添加各种各样的数据,这样就可以保存他们的化学、地理、物理……的成绩。
小明就这么先定义了一个成绩的数据,再写了个学生的数据:
定义 成绩{ 成绩的内容:____(填入一串字符) 成绩的分数:____(填入一个数字) } 定义 学生{ 学生的名字:____(填入一串字符) 成绩*几项成绩㈠ }
小明写的软件于是大火,在小学,初中,高中都适用,但是小明并不甘心,想把软件可以存储学生各种数据:
定义 字符{ _____(只能填入字符,填入数字会当成字符) } 定义 数字{ _____(只能填入数字,不能填入其他) } 定义 学生{ 名字:字符 年龄:数字 性别:字符 入学时间:数字 ………… }
于是,小明就创造出了两个基本数据类型:字符、数字
不管在什么地方,都是这两个基本类型的组合。
vb的数据类型
刚才的例子只是简单的引出了数据类型是什么
严格的定义为:
数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。 变量是用来存储值的所在处;它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。
总之,vb6.0中有以下几种数据类型
以下就是常用的数据类型的声明
`字符型Private A as String A = "Mother Fucker" A = "9325" A = "" `整型 Private B as Integer B = 12345 B = 0 `布尔类型㈡ Private C as Boolean C = No C = True C = Off `日期类型 Private D as Date D = #12/1/2010# `自定义类型 [Private/Public] Type 数据类型名 数据类型元素名 As 类型名 数据类型元素名 As 类型名 数据类型元素名 As 类型名 …… End Type `例如 Type Student name As String*30 `长度为30 age As Integer End Type `枚举类型
[Private/Public] Enum 数据类型名 数据类型元素名 = 类型名 数据类型元素名 = 类型名 数据类型元素名 = 类型名 …………End Enum Public Enum 专业类型 哲学=1 经济学=2 法学=3 教育学=4 …………End Enum
关键字和变量
我们有了基本的数据类型,还可以自定义数据类型和枚举类型,
所以当我们创建了一个数据类型的时候,我们需要给他标示一个名称,以防我们忘记它在哪,是来干什么的
比如
Dim StudentName as String
这样我们下次用的时候就能一下子想起来,哦,是保存学生的名字的字符串。
但是有些名字我们是不能起的,比如If Print,简单来说这些都是以及被占用的名字,所以不能起。
变量的作用域
分为局部变量、模块级变量、全局变量,最主要的区别就是能使用的范围,在Form_Load()声明的可以认为是模块级变量,在.bas声明段声明的是全局变量,其他基本都是局部变量。
静态变量
唯一不变的“变量”,可以理解为常量。
Static 变量名 As 数据类型
其他
局部变量不在一个作用域之内可以重名(有些比如循环的时候的计数变量这些完全没什太大意义的可以重名),全局变量不可重名,模块变量不建议重名
常量
也是不变的量,但和静态变量有少许不同,暂时不说
[Private\Public]Const 名字 As 数据类型 = 数据类型值
以上。
㈠ 实际上需要用数组,或者更复杂的链表来实现,这里简化了。
㈡ 乔治·布尔(George Boole,1815.11.2~1864),1815年11月2日生于英格兰的林肯。 19世纪最重要的数学家之一,出版了《逻辑的数学分析》 ,这是它对符号逻辑诸多贡献中的第一次。1854年,他出版了《思维规律的研究》,这是他最著名的著作。在这本书中布尔介绍了现在以他的名字命名的布尔代数。
布尔(英语:Boolean)是计算机科学中的逻辑数据类型,以发明布尔代数的数学家乔治·布尔为名。它是只有两种值的原始类型,通常是True和False。在一些语言中,布尔数据类型被定义为可代表多于两个真值。例如,ISOSQL:1999标准定义了一个SQL布尔型可以储存三个可能的值:真、假、未知(SQLnull被当作未知真值来处理,但仅仅在布尔型中使用)。