从本节课程我们将开始接触VB编程的核心内容与知识,正式的开始VB语言学习。
数据是程序处理的对象,根据数据在程序运行过程中其值是否能被改变,我们可以把数据分为常量和变量两种。
上节课程,我们学习了标识符和数据类型,它们都是常量和变量的基础。本节课程我们就一起来学习如何声明常量和变量,以及如何使用它们。需要提醒各位,本节课程的文字比较多,但都是重点基础知识,请耐心学习哦。
首先,我们先来看一个例子,来作为认识常量和变量的引子:
例:设计一个应用程序,输入圆的半径,求圆的周长和面积。
程序界面如下:
编程代码如下:
Private Sub Command1_Click() '定义π常量,标识符为PI,并赋值 Const PI As Single = 3.14159 '定义半径、周长和面积变量 Dim r As Single, s As Single, c As Single r = Val(Text1.Text) '给半径r赋值 c = 2 * PI * r '计算周长 s = PI * r * r '计算面积 Text2.Text = c '输出周长 Text3.Text = s '输出面积End Sub
运行程序,输入圆的半径,然后单击开始计算,即可输出圆的面积和周长。
可以看出,使用常量和变量的过程。首先需要申明常量或变量,然后对其赋值,再根据需要进行运算处理,最后输出结果。通过上面这个例子,相信大家对常量和变量也有了一个初步认识了。
接下来,让我们一起详细的学习常量和变量的相关知识吧。
常量
常量是在程序的运行中其值保持不变的量。在VB中,有三种常量:分别是直接常量、用户申明的符号常量和系统提供的符号常量。
直接常量
直接常量就是各种不同数据类型的具体值。例如:10,3.14,"云南",等。根据数据类型划分,直接常量有如下几种:
字符串常量:用一对英文状态下的双引号("")括起来的一串字符,字符串常量允许其中出现任意字符和符号。
例如:"Hello World","1314","我和我的祖国","★&?π"等都是合法字符串常量。
数值常量:一般由正负号、数字和小数点组成,正数的正号可以省略。
数值常量又包括整型常量、长整型常量、单精度常量和双精度型常量等。
整型常量:即数据类型为Integer的常量。整型常量也分为十进制、八进制和十六进制。
十进制数表示形式与日常使用的形式相同,用0~9的数字组合而成。
八进制用0~7的数字组合而成,并在前面加"&O"
十六进制用0~9及A~F组合而成,并在前面加"&H"
例如123,&0123,&H123,-123,123%都是合法整型常量。
长整形常量:即数据类型为Long类型的常量。同样分为十进制、八进制和十六进制。
长整形与整型的区别在于存储范围不一样,整型在内存中用2个字节存放,而长整型则用4个字节存放,因此其表示范围更大。长整型包含整型,理论上可以用长整型表示整型,但是从内存效率上讲一般不建议这么做。
单精度型常量:即实数,在计算机中称为"浮点数"。单精度型常量用4个字节存放,具有7位有效数字。
单精度型常量有两种表现形式:一种是十进制小数形式,另一种是指数形式。
对于十进制形式,如果整数部分为0,则可以省略整数部分。如3.14,-12.345,等
指数形式用科学计算法表示,格式为mmmEeee,其中mmm是尾数,而eee是指数,指数必须是整数,可以带正负号。
例如:1.234E5,表示的是1.234×10^5
双精度型常量:与单精度常量一样,区别在于双精度采用8个字节存放,具有15位有效数字。
逻辑型常数:只有两个取值,True(真)和False(假)
用户声明的符号常量
在VB中,可以定义符号常量来代替程序中的数值或字符串等。声明的格式一般为:
[Public|Private] Const [As类型] =
[] 符号表示非必要参数,可以选填。
| 符号表示左边和右边选择其一。
Public关键字:用Public申明的语句只能出现在标准模块中,声明的符号常量是全局性的。可以在整个应用程序中使用。使用Private声明的符号常量,其语句可出现在标准模块或窗体模块中,声明的符号常量是模块私有的,可以在模块内使用。缺省时,默认为Private。
系统提供的符号常量
VB系统中定义了许多符号常量,均以"vb"开头,如vbRed、vbCrlf等。
变量
变量是在程序的运行过程中其值可以变化的量。在使用变量前,一般需要先声明变量名及其数据类型,以便系统为其分配内存。
变量的声明语法:
Public | Private | Dim |Static 变量名 [As 数据类型]
关键字Public 、Private 、Dim 、Static,由符号 "|"隔开,表示在声明变量时可以从其中任选其中一个。
定义变量时,用不同的关键字定义,以及定义变量语句的位置不同。都会影响到变量的使用范围。具体需要视情况而定,关于这部分内容我们将在后面专门开一节课程来讲。
As用于声明变量的数据类型,其中类型可以是VB的基本数据类型,也可以是用户定义的数据类型。
一条声明变量的语句可以声明多个变量,各变量之间以逗号隔开。例如:
Dim a As Integer, b As Long, c As String
可以在变量名后紧跟一个数据类型说明符,来替代变量名称。例如:
Dim a%, b!, c$
对于字符串变量的声明,又分为定长字符串和变长字符串。例如:
Dim Str1 As String '变长字符串
Dim Str2 As String*10 '定长字符串(10个字符长度)
关于变量的初始值。在声明一个变量后,系统将自动为变量赋予一个初始值。数值型的变量,初始值为0;变长字符串初始值为(""),定长字符串型初始值为n个空白字符串(假设定长字符串长度为n)。逻辑型初始值为"Flase"
隐式声明变量:在VB中,如果不声明一个变量,而直接使用,那么这种属于隐式声明变量,此种变量的数据类型为变体型,并默认为局部变量。但是这种方法会造成内存的浪费,且会导致程序混乱,不便于查看代码,和查找错误。因此不建议使用。在前面的课程有说过,建议打开强制显示声明变量的语句,即在首行写入Option Explict。
举例:
目标,通过本例,掌握常量和变量的声明方法,以及大致了解它们的作用范围。如下图所示:
Option ExplicitPrivate a As Integer, b As DoublePublic c As IntegerPrivate Sub Command1_Click() Static i As Integer Dim j As Single Dim k As Integer a = a + 1 b = b + 1 c = c + 1 i = i + 1 j = j + 1 k = k + 1 Print a, b, c, i, j, kEnd SubPrivate Sub Form_Load() Form1.AutoRedraw = True Print "a", "b", "c", "i", "j", "k"End Sub
每次单击按钮时,a,b,c,i的值都会加1,而j,k的值则都是1保持不变。
好啦,本节课程关于常量和变量的使用,我们就学习到这里。
下节课程,将为大家带来运算符和表达式的知识,敬请期待吧。