第一节 常量和变量
一,常量
常量,我们也可以理解为”长量”,长期存储在内存中的值,在程序在运行状态时它会一直存在.
在编程时,会遇到这种情况:代码中包含一些数值,它们反复出现。而且代码要用到很难记住的数字,且那些数字没有明确意义。这种情况下,可以用常量来方便地改进代码的可读性和可维护性。常量是用有意义的名字取代经常用到的数值或字符串。尽管常量有点像变量,但不能像对变量那样对其值进行修改,也就是说对常量赋初值后就不能再次赋值了。常量有两种来源:
1.内部的或系统定义的常量是由应用程序和控件提供的。这些常量是在Visual Basic对象库中定义的。
2.用户定义的常量是用const语句来声明的。
来自Visual Basic对象库的常量由以下形式构成:
NameSpaces1.NameSpaces2.….ConstName,
Demo:
Microsoft.VisualBasic.MsgBoxStyle.OKOnly是Visual Basic对话框中的一个常量,值为0。
自定义常量:
声明常量的语法是:
Demo:
Public|Private|Protected|Friend|Protected Friend const constname [As type]=expression
参数“constname”是有效的符号名,“expression”由数值常量或字符串常量及运算符组成;但在“expression”中不能使用函数调用。
“Const”语句可表示数量、日期和时间,下面我们演示一下具体的定义:
Demo:
Const Pi=3.14159265358979
Public Const MaxPlanets As Integer=9
Const ReleaseDate=#1/1/95#
也可以用Const语句定义字符串常量:
Demo:
Public Const Version="07.10.A"
Const CodeName="Enigma"
如果用逗号进行分隔,则在一行中可放置多个常量声明,这种方法我们在定义同一种类型的时候均可以用到:
Demo:
Public Const Pi=3.14,conMaxPlanets=9,conWorldPop=6E+09
等号左边必须是值,等号右边的表达式通常是数字或文字串,但也可以是其结果为数或字符串的表达式(尽管表达式不能包含函数调用),甚至可用先前定义过的常量定义新常量。
Demo:
Const Pi2=Pi*2
当定义常量后,就可将其放置在代码中进行直接使用,使代码更可读。例如:
Const Pi=3.14
Area=Pi*dblr^2
常见错误
避免循环引用
由于常量可以用其他常量定义,因此必须小心,在两个以上常量之间不要出现循环或循环引用。当程序中有两个以上的公用常量,而且每个常量都用另一个去定义时就会出现循环,Demo:
'在Module1中:
Public Const A=B*2 '在整个应用程序中有效
'在Module2中:
Public Const B=A/2 '在整个应用程序中有效
如果出现循环,在试图运行此应用程序时,Visual Basic就会产生错误信息。不解决循环引用就不能运行程序。为避免出现循环,可将公共常量限制在单一模块内,或最多只存在于少数几个模块内。
二,变量
变量,顾名思义,经常变化的度量值,我们大可把它看做一个容器,存放我们需要的物品,我们需要时从里面取出,其本身并不能使用.相信有一定基础的编程者对这个含义再熟悉不过了,如果没有变量,在编程的工作中肯定是无法进行的,可见常量在程序中的重要性.
在上面定义常量的公共方法与私有方法中我们定义变量依然可以使用.不不同的类中我们可以定义为公有变量:Public,而在同一个类中,我们直接定义即可:Dim 或 Private,然而在一个函数中我们则只能使用过程级变量的定义方法:Dim需要注意的是,我们使用前必须定义变量的数据类型,在变量中,数据类型更加的多样化.下面我列出常见的类型和其简单描述,
类型 描述
Boolean 逻辑变量,true,false
Byte 二进制字节
Char 字符
Date 日期时间
Decimal 数据型信息
Double 双精度数据型
Integer 数值型数据
Long 数值型数据(长)
Object 类型的基(根),
Short 数值型数据(短)
Single 数值型数据(长小数位)
String 文本类型,任何字符
下面演示几个Demo,我们经常用到常量的方法
定义Demo:
Dim I as Integer
Dim x as Sring
…..
变量赋值的Demo:
定义时赋值
Dim I as Integer = 2
定义成容器赋值
Dim I as Integer
I = 2
……
变量数据类型转换Demo
Dim I as Integer
I = 2
Dim s as String
S = I.Tostring()
Dim D as Double
D = CDbl(s)
下面给大家列个常见的转换表(Copy下来的,具体出处不明)
转换函数 返回值 对表达式的要求
CBool Boolean 任何字符串及数字类型
CByte Byte 0到255
CChar Char 0到65535
CDate Date 任何合法的日期及时间
CDb1 Double 负数为-1.79769313486231E308到-4.94065645841247E-324;正数为4.94065645841247E-324到1.79769313486231E308
CDec Decimal 无小数点的整数范围是-79228162514264337593543950335到79228162514264337593543950335
CInt Integer 从-2147483.648至2147483.648;允许分数,小数部分采取四舍五入的原则
CLong Long -9223372036854775.808至9223372036854775.807;允许分数,小数部分采取四舍五入的原则
CObj Object 任何合法的表达式
CShort Short -32768至32767;允许分数,小数部分采取四舍五入的原则
CSng Single 负数为-3.402823E38到-1.401298E-45;正数为1.401298E-45到3.402823E38
CStr String 可以是“Boolean”类型,返回“True”或“False”;也可以是“Date”类型,返回日期的缩写形式;或者是数字类型,返回代表这个数字的字符串。
强制类型转换Demo
Dim I as integer
I =3
Dim s as String
S = Ctype(I,String)
基本转换格式为:
Ctype(需要转换的数据,转换后的类型)
字符连接Demo
dim I as string = “5”
dim u as string = “3”
dim s as string = I & u
结果为 53
字符连接只适合字符数据类型.
在VB.NET中的默认数据类型是Object
dim a = dim a as Object
Viviwei
2007-06-1
下载该教程
[此贴子已经被作者于2007-6-11 10:18:51编辑过]