2.2.1 Visual Basic.NET简介
Visual Basic.NET(以下称VB.NET)作为ASP.NET的默认编程语言,不是简单的从VB6的版本上的升级, VB.NET内核代码几乎全部被重写,它是基于 .NET 框架重新设计的,您可以用它来轻松地创建用于微软操作系统和 Web 的下一代应用程序。使用 VB.NET,可视化开发 Web 应用程序、Web 服务、Windows 应用程序和服务器端组件将变得轻而易举。此外,VB.NET 使用了 Windows 应用程序的 XCOPY 部署方案,使您不必再担心 DLL 版本问题。随着 Visual Basic.NET 的发布,“DLL 噩梦”将成为过去。Visual Basic.NET 语言现在是真正的面向对象语言,并支持实现继承。窗体设计器支持可视化继承,并包含窗体自动调整大小、资源本地化和访问选项支持等新特性。现在的数据工具继续支持 XML 数据,并可以共同使用设计时数据绑定和断开数据。此外,Visual Basic.NET 是基于 .NET 框架直接创建的,因此可以使用所有的平台特性,并能够与其他 .NET 语言协同工作。下面我们开始走进VB.NET的语法世界,一起感受它的魅力!
2.2.2 如何定义数据类型、变量与常量
2.2.2.1 数据类型
我们知道,VB.NET是基于.NET框架下的,它之所以能和其他.NET 语言协同工作,因为在数据类型上有极强的相似性,比如:在VB6时代,Integer是存储为16位,但是升级到VB.NET后,为了和其他语言保持一致性,在Integer被刻意设计成32位。
【数值型】
数值型数据类型如表2.1所示:
类型名称
字长
默认值
备注
Byte
1字节(8位)
0
8位存储,表示0~255无符号整数
Short
2字节(16位)
0
16位存储,表示整数范围为-32768~32767
Integer
4字节(32)
0
32位存储,表示整数范围为-2147483649~
Long
8字节(64位)
0
64为存储,表示整数范围为-9223372036854775808~9223372036854775807
Single
4字节(32位)
0
32位浮点存储,负数范围为-3.402823E38~-1.401298E-45;正数范围为1.401298E-45~3.402823E38
Double
8字节(64位)
0
64位浮点存储,负数范围为-1.79769313486231E308~-4.94065645841247E-324,正数范围为4.94065645841247E-324~ 1.79769313486231E308
Decimal
12字节
0.0
无小数点的整数范围为-79228162514264337593543950335~79228162514264337593543950335,绝对值最小非零数为+/-0.0000000000000000000000000001
表2.1
【文本编码型】
文本编码型数据类型如表2.2所示。
类型名称
字长
默认值
String
2字节
空串
Char
空
表2.2
【布尔编码型】
文本编码型数据类型如表2.3所示。
类型名称
字长
默认值
Boolean
4字节
False
表2.3
【日期时间型】
日期时间型数据类型如表2.4所示。
类型名称
默认值
备注
Date
#01/01/0001 12:00:00AM#
日期时间数据类型表示的日期范围为#01/01/0001#~#31/12/9999# ,时间范围为#00:00:00#~#23:59:59#
表2.4
【变量的命名】
在VB.NET中,变量声明必须遵循一下规则,否则会造成编译异常:
1、变量名称的第一个字符必须是字母;
2、不能包含应为句号或者嵌入类型声明字符(系统关键字);
3、变量名称长度不能超过255个字符;
4、在同一个作用域内,变量的名称是唯一的;
要注意的是,VB.NET 中,变量名是不区分大小写的。如以下变量名称是可以被系统接受的:X, y ,Num,x8,x_x等等
【变量的声明】
在VB.NET中,变量在使用之前是必须声明的,这个vb6不同,如果系统要求(Option Explicit=On)必须显式声明,如果系统不要求(Option Explicit=Off)则声明变量时候声明名称即可,不必指出变量类型。
变量在其作用范围内都有生存周期,随着范围内过程代码的产生而产生,释放而释放。在一个过程或函数内声明变量时候,只有该过程或函数内部的代码才能访问该变量的值,。这个范围相对整个程序而言是局部的,因此这个变量称为局部变量。局部变量在使用的时候才开始从内存中开辟存储运行空间,一旦这个过程或函数执行完毕,该变量就会从内存中释放出去。也因此,局部变量也称为动态变量。
但是有些变量我们需要真个程序体都能访问它的值,我们就要声明全局变量。全局变量一旦建立,就会常驻内存,直到该整个程序体推出内存才会释放。全局变量一般使用静态变量或是常量来实现的。
动态变量声明如下:
Dim X As Integer ‘声明一个整形变量X
Dim Y As String ‘声明一个字符串型变量Y
Dim Theday As Date ‘声明一个日期时间型变量 Theday
Dim x,x_x ,x_y As Integer ‘声明变量 x,x_x,x_y 三个变量为整形
静态变量声明如下:
Shared num As Doolean ‘声明布尔静态变量num,改变量常驻内存,直到程序推出系统
注意:在VB6里全局静态变量是使用Static来声明的,对使用过vb6的读者要注意这一点。
2.2.2.3 常量定义和使用
有时候在程序中,我们会遇到这种情况:某个常数值会频繁使用,但是这些数值没有明确意义,并且很难记忆。这时候,我们就会使用常量。
常数是用意义的名字取代那些频繁使用的值,虽然这样看来常量和变量是用起来没有什么区别,但是本质不同的是当常量一旦被初始化赋值后,其值就不允许改变。常熟的来源有两种:
系统定义的或是内部的常量是由应用程序和控件提供的,这些常量VB.NET对象库中定义的。
用户自定义的常量。比如圆周率Pi。
【常量的命名】
常量的命名规则和变量一样。
【常量的声明】
常量的声明在使用前的,声明语法如下:
[Public|Private|Protected|Friend| ProtectedFriend ] Const constname [As Type]=Expression
语句中“[Public|Private|Protected|Friend| ProtectedFriend ]”任选参数,声明常量使用范围,如果只在本程序体内使用,可以省略。“constname”是有效的常量名称,“[As Type]”是常量类型,“Expression”是表达式,既可以为数值,也可以为字符串。比如我们在计算圆面积和周长的时候,需要定义Pi,如下:
Const pi As Long = 3.1415926 ‘-―声明 常量Pi,并赋值为3.1415926
Const pi2 As Long = pi * 2 ‘――声明 常量Pi2,并赋值为已声明常量Pi的二倍
Dim x As Integer ‘――存放半径
Dim q As Long ‘――存放圆面积
Dim clen As Long ‘――存放圆周长
x = TextBox1.Text
clen = pi2 * x‘――引用常量pi2,取得周长
q = pi * x ^ 2 ‘――引用常量pi, 取得面积
2.2.3使用运算符,做好数据运算准备
在程序中使用运算是进行算术计算和逻辑计算的基础,学好运算符的使用也是很重要的,本节就VB.NET重要常用的几种预算做介绍。
【算术运算】
算术运算可以说是编程时候最常用的运算了,VB.NET的算术运算包括的运算如表2.5所示。
运算符
名称
类型
备注
+
加运算
双目运算符
操作符两边为数值型变量,操作结果为两变量值的和。注意溢出的可能。当两变量类型不一样时,结果取变量类型容值较大的那一个。如 ingter类型变量与short类型变量进行加运算后,得到的结果类型为ingter。
-
减/取反运算
双目/单目运算符
当操作为双目运算符时候,两边为数值型变量,操作结果为左右两边变量值的差。当操作为单目预算符时候,操作结果为该变量的相反数。
*
乘运算
双目运算符
操作符两边为数值型变量,操作结果求两变量值的积。容错取值同“+”。注意结果值的溢出。
/
除运算
双目运算符
当左右操作数同为“Byte”,“Single”或“Integer”时,操作结果值不溢出时为“Single”或“Double”。