您好,欢迎访问三七文档
第2章VB.NET语法基础在进行ASP.NET程序设计之前,首先要选择一种ASP.NET编程语言。ASP.NET的默认语言是VisualBasic.NET,当然也可以使用C#。本书主要介绍VisualBasic.NET,并且书中所有的例子都用VisualBasic.NET来编写。本章介绍一些VisualBasic.NET的初步知识,关于VB.NET的高级编程知识请读者参阅其他相关图书。VisualBasic.NET是继VisualBasic6.0之后新发布的VisualBasic的全新版本。如果您是一个VisualBasic.NET的高手的话,可以跳过这一部分,从第3章开始学习。学完本章后,读者将能够:(1)了解为什么选择VB.NET作为ASP.NET程序设计的首选语言;(2)了解变量、常量和表达式的知识;(3)会使用条件、循环语句;(4)了解如何使用过程和函数。2.1编程语言的选择由于ASP.NET只是一个程序设计环境,要在这个环境中进行程序设计,必须选择一种语言。在早期的ASP中,默认使用的语言是VBScript脚本语言。由于.NETFramework已经支持VB等非脚本的高级语言,所以完全没有必要再去使用VBScript,但是原来用VBScript写的程序在ASP.NET中仍然可以执行,因为.NET环境仍然支持VBScript的语法。2.1.1.NET支持的语言.NET为用户提供了三种程序设计语言:VisualBasic.NET、C#和Jscript。本节分别介绍这三种语言。VisualBasic.NET是VB最新的版本,从功能和性能上讲可以说有了很大的飞跃。首先,早期的VB版本不完全支持面向对象的程序设计,由于它不支持对象的继承和重载,所以产生了很多问题。另外,早期的VB版本无法创建多线程的应用程序,这样就不能够充分利用机器的资源,也不能很好地提高应用程序的执行效率。但是现在,由于VB.NET使用了CLR,这些问题都很好地得到了解决。对于C#,可以认为它是在C、C++的基础上创立的一种新的语言。它继承了C++的优异功能,去除了在.NET环境中没有用处的类型定义、模板等功能,使得C#与C++相比,更加易于使用,同时效率也大大提高。与VB.NET一样,JScript.NET也是从JScript发展而来的。JScript.NET是完全用C#ASP.NET简明教程•18•重新编写的,它支持类型和继承性,并且是完全编译执行的。为了保证原有的JScript程序仍然能够正确地执行,它仍然支持现有的JScript代码。2.1.2为什么选择VB.NET本书选择VB.NET作为程序设计语言的原因是:首先,VB.NET是ASP.NET的默认编程语言;其次,VB.NET对于初学者来说十分简单易学,并且使用它可以完成C#和JScript.NET所能够完成的所有功能。2.2变量、常量和表达式2.2.1数据类型VB.NET中有12种不同的数据类型,可以分成三类:数值类型、文本类型和混合类型。数值类型是VB.NET数据类型的主要类型,共7种。数值类型的数据类型见表2-1。表2-1数值类型的数据类型数据类型表示方式取值范围说明整型Integer–2147483648~2147483647用于表示简单整数字节型Byte0~255用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快短整型Short–32768~32767是整型的一种形式,相对表示范围较小长整型Long–9223372036854775808~9223372036854775807是整型的一种形式,相对表示范围较大单精度型Single–3.402823E38~–1.401298E-45(对于负数)和1.401298E-45~3.402823E38(对于正数)用于存放单精度浮点数双精度型Double–1.79869313486232E308~–4.94065645841247E-324(对于负数)和4.94065645841247E-324~1.79869313486232E308(对于正数)用于存放双精度浮点数小数Decimal当小数位为0的时候,为–79228162514264337593543950335~79228162514264337593543950335;当小数位为28的时候,为–7.9228162514264337593543950335~7.9228162514264337593543950335常用于存储货币值第2章VB.NET语法基础•19•用于存放文本的数据类型有两个。文本类型的数据类型见表2-2。表2-2文本类型的数据类型数据类型表示方式说明字符串型String用于存放任何形式的字符串,包括一个字符或者多行字符字符型Char用于存放一个字符,它以0~65535之间数字的形式存储其中需要说明的是:(1)对于String类型,可以存放任何形式的字符串,它可以是纯粹的文本,也可以是文本和数字的组合或者是数字、日期等。例如Thisisabook.和12345都是字符串。对于字符串类型的数据,可以进行相关的字符串操作,例如连接、截断等。(2)对于Char类型,可以存储的只是一个字符,注意,这个字符的存储编码必需是一个数字。在计算机系统中,可以显示很多符号(不仅仅是英文字母),为了能够正确地显示,国际上有通用的标准(例如Unicode编码),为每个字符设定了一个标准的数值来表示这个字符。其余的数据类型还有:Date数据类型、布尔数据类型和Object数据类型,其说明见表2-3。表2-3其他数据类型数据类型表示方式说明日期型Date必须用mm/dd/yyyy的格式表示,也可以存储时间(可以存储00:00:00~23:59:59之间的任何时间)布尔型Boolean取值为True和False对象型Object其中需要说明的是:在VB.NET中,对于Boolean类型的数据,当需要把布尔类型的值转换为数值类型的时候,会把True当成1来处理,把False当作0来处理。当需要把数值类型的值转换为布尔类型的时候,会把0转换为False,而把其他的非0数值转换为True。2.2.2变量变量用来存储程序中需要处理的数据,用户可以把变量看作是在内存中存储数据的盒子。在其他程序设计语言中,几乎都要求程序设计人员在使用变量之前定义变量的数据类型,因为不同数据类型的变量所需要的内存空间是不一样的:比如,字节型变量需要8位的空间,短整型变量需要16位空间等,这就表示盒子的容量是不一样的,所以为一种数据类型定义的变量就不能存放另一种数据类型的值。在VisualBasic.NET中,创建变量的方式有两种:一种方法是使用Dim关键字,这是显式定义的方法。还可以使用隐式定义的方法,也就是在用户需要使用一个变量的时候直接写出这个变量并为它赋值。ASP.NET简明教程•20•显式定义方法如下所示:Dimx通过这样一条语句,就创建了一个名为x的变量。也可以用下面的方法一次定义多个变量:Dima,x这条语句创建了两个变量:a和x。在这里,有以下几点需要说明:(1)如何为变量取名字。VisualBasic.NET和其他语言一样,其变量名称必须以字母开头,只能包含字母、数字和下划线,并且不是VisualBasic.NET关键字。在为变量取名时,建议不要使用像a或者x这样的让人无法理解的变量名,而应该采用小写前缀加上有特定描述意义的名字的方式来为变量命名,这种命名方法被称为Hungarian法。变量名的前三个字母用于说明数据类型,第四个字母大写以表示变量的实际含义。例如下面的定义:DimstrFileNameDimintTotal都可以说是定义了很好的变量名:用str和FileName两个部分组合来表示strFileName是用来存储字符串类型的文件名的,用int和Total两个部分组合来表示intTotal是用来存储整数类型的总和的。当然,对于程序员来说,这种命名约定并不是强制性的,仍然可以使用a和x这样的变量名,也可以用intTotal变量来存储一个字符串。但是很明显,如果用户都采用这种为变量命名的方式并在程序设计过程中遵循这样的好习惯,可以让程序易读,并减少出错的机会。在VB.NET中,常用的约定前缀见表2-4。表2-4常用的变量命名约定数据类型前缀例子BooleanblnblnYesBytebytbytByteCharchrchrCharDatedatdatDateDoubledbldblDoubleDecimaldecdecDecimalIntegerintintTotalLonglnglngLongSinglesngsngSingleShortshoshoShortStringstrstrTextObjectobjobjFileObject第2章VB.NET语法基础•21•(2)当使用Dim语句的时候,可以在后面加上一个as关键字来指定一个变量的数据类型。例如:DimintTatalasInteger这条语句表示创建一个名为intTatal的整数类型的变量,使用这种方法可以指明一个变量必须要保存什么类型的数据。虽然VB.NET并不强迫用户在定义变量的时候一定要指明其数据类型,但是建议用户在编写程序时使用这种方法来指明变量的数据类型,以减少程序出错的可能。(3)虽然可以使用隐式方法来创建变量,但是由于前面提到的原因,仍然建议使用显式的方法来定义变量。(4)在VB.NET中,是不区分大小写的,这就意味着,变量strFileName和变量strfilename将表示同一个变量。2.2.3运算符在VB.NET中常用的运算符与其他的语言并没有什么不同。常用的运算符有:赋值运算符、算术运算符、字符串连接运算符、比较运算符和逻辑运算符。1.赋值运算符赋值运算符是最常用的运算符,它就是我们熟悉的等号(=)。需要注意的是,虽然它表面上是一个等号,但它并不是一个数学意义上的等号,它的意思是把等号后边的值赋值给等号前面的变量。例如,如果定义了一个整数型变量intNumber,就可以使用下面的语句:DimintNumberasIntegerintNumber=1intNumber=intNumber*3其中,第一行表示创建了一个名字为intNumber的整数型变量,第二行表示把这个变量的值赋值为2,第三行表示把intNumber中的值(也就是2)乘以3所得到的值(也就是6)赋值给intNumber。当第三条语句执行完成之后,intNumber中的值就是6。而在数学上,当intNumber的值是非零的时候,intNumber无论如何也不可能等于intNumber*3。2.算术运算符VB.NET中的算术运算符有:+(加)、–(减)、*(乘)、/(除)、\(整数除)、Mod(取模)和^(幂),其中需要解释的是/(除)和\(整数除)的区别。/(除)表示的是通常意义的除法,例如,(5.4/3)的结果是1.8,而\(整数除)表示把除数和被除数四舍五入以后再计算除法得到的整数结果,所以在计算(5.4\3)时,把5.4四舍五入为5,再进行运算,得到的整数结果是1,这种运算在特定的应用中会十分有用。例如,你有89条消息需要发布,又不希望所有的89条信息都在一页中显示,而希望分页显示,而每页中只显示20条信息。那么(89\20)所得到的4就表示有4页是填满了20条信息的,而剩下的一页中有19条信息,ASP.NET简明教程•22•并没有填满。例2.1(02-01.aspx)VB.NET中算术运算符的用法。1:%2:DimdblData1,intData2,intData33:dblData1=5.44:intData2=35:intData3=76:Response.Write(dblData1+intData2&br)'5.4+3:结果是8.47:Response.Write(dblData1-intData2&br)'5.4-3:结果是2.48:Response.Write(dblData1*intDat
本文标题:vbnet语法基础
链接地址:https://www.777doc.com/doc-1432642 .html