二章节VisualBasicNET程序设计基础.ppt
第二章 Visual Basic.NET程序设计基础,东北大学软件学院,第二章 Visual Basic.NET程序设计基础,2,2.1 数据类型2.2 常量与变量2.3 数组2.4 Visual Basic.NET基本语句和语法2.5 Visual Basic.NET的过程2.6 Visual Basic.NET的常用函数,主要内容,第二章 Visual Basic.NET程序设计基础,3,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,4,字符型(Char)Nothing(默认值)字符串型(String)Nothing(默认值),0,65535,2字节,0,65535,2字节,字符个数,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,5,Dim a As Chara=“b”a=ChrW(98),Dim a As Stringa=“b”a=“”,试一试:假设有A和B两个变量,分别为字符型和字符串型的变量,则通过如下的赋值语句,其最终结果是什么?,A=“Hello”B=“Hello”,A=“H”B=“Hello”,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,6,字节型(Byte),短整型(Short),整型(Integer),长整型(Long),单精度型(Single),双精度型(Double),小数型(Decimal),1个字节。0(默认值)255。,2个字节。-3276832767。0(默认值)。,4个字节。-21474836482147483647。0(默认值)。,8个字节。0(默认值)。,4个字节。-3.4028231038-1.40129810-45(负数)1.40129810-453.4028231038(正数)0.0(默认值)。,8个字节。0.0(默认值)。,16个字节。0D(默认值)。,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,7,判定下列变量的赋值是否正确?,2.1 数据类型,A=20.1(A为单精度型变量),B=3.5E20(B为单精度型变量),C=256(C为字节型变量),D=256(D为整型变量),第二章 Visual Basic.NET程序设计基础,8,布尔型(Boolean)Nothing(默认值)日期型(Date)8个字节范围:公元0001年1月1日公元9999年12月31日#12:00:00AM#(默认值)。,2个字节,True(-1或非0),False(0),日期:#月/日/年#或#月-日-年#,时间:#时:分:秒 AM#或#时:分:秒 PM#,日期时间:#月/日/年 时:分:秒 AM#或#月/日/年时:分:秒 PM#月-日-年 时:分:秒 AM#或#月-日-年时:分:秒 PM#,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,9,对象型(Object)4字节+数据类型所占空间。可以保存任何数据类型。Nothing(默认值),2.1 数据类型,第二章 Visual Basic.NET程序设计基础,10,结构Private|PublicStructure 结构名 Dim 字段名1 As 数据类型1 Dim 字段名2 As 数据类型2 Dim 字段名n As 数据类型nEnd Structure,枚举Private|PublicEnum 枚举类型名 As 数据类型 枚举成员名1=常量表达式1 枚举成员名2=常量表达式1 枚举成员名n=常量表达式nEnd Enum,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,11,定义一个包含学号、姓名和性别字段的结构。,Structure Student Dim StuNo AsString Dim StuName As String Dim StuSex As StringEnd Structure,Dim Stu As StudentStu.No=“20070001”Stu.Name=“张三”Stu.Sex=“男”,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,12,定义一个包含红、绿、蓝三种颜色的枚举。,Enum MyColor Red Red=0 Green Green=1 Blue Blue=2End Enum,Enum MyColor Red=2 Red=2 Green Green=3 Blue=5 Blue=5End Enum,Dim Col As MyColorCol=MyColor.Green,2.1 数据类型,第二章 Visual Basic.NET程序设计基础,13,2.2 常量与变量,变量的命名规则,首字符,其他字符,英文字母,汉字,数字,下划线,空格,关键字,其他字符,255个字符,第二章 Visual Basic.NET程序设计基础,14,2.2 常量与变量,声明变量,Dim,变量名,As,数据类型,合法变量名,13种数据类型之一,Dim Age,Years As Integer Dim Score As Single,第二章 Visual Basic.NET程序设计基础,15,变量的有效范围决定Visual Basic.NET程序中变量的可访问性。在有效范围内变量是可用的,有效范围之外,变量是无效的,对该变量的任何使用均会导致程序报错。,2.2 常量与变量,Private Sub Button1_Click(ByVal sender As System.Object,_ ByVal e As System.EventArgs)_ Handles Button1.Click Dim Losers As Integer(其它语句)End Sub,第二章 Visual Basic.NET程序设计基础,16,常量是在程序运行中不变的量Const 常量名 As 类型 表达式常量名的命名规则中,其长度最长为40个字符,其他同变量命名规则。,2.2 常量与变量,Const PI 3.14159声明了常量PI,代表3.14159,Single型Const MAX As Integer O144声明了常量MAX,代表了八进制数144,整型Const COUNTS 12.34R声明了常量COUNTS,代表12.34,double型,第二章 Visual Basic.NET程序设计基础,17,数组是一组内存位置,它们具有相同的名称和类型。,Dim 数组名(下标1,下标2)As 类型,Dim 数组名()As 类型()数组名=New 类型(下标),2.3 数组,第二章 Visual Basic.NET程序设计基础,18,声明具有10个整数元素的数组A,Dim A(9)As IntegerDim A()As Integer()A=New Integer(9)Dim A()As Integer=New Integer(9),2.3 数组,第二章 Visual Basic.NET程序设计基础,19,数组的初始化,声明同时初始化Dim Score()As Single=80.1,90,68Dim b(,)As Integer=1,1,2,2先声明后赋值Score(0)=80.1:Score(1)=90:Score(2)=68b(0,0)=1:b(0,1)=1:b(1,0)=2:b(1,1)=2,2.3 数组,第二章 Visual Basic.NET程序设计基础,20,算术运算符,字符串连接符,关系运算符,逻辑运算符,-(负号)*,/Mod+、-,&,=、=、Like、Is,赋值运算符,Not And Or Xor AndAlso OrElse,=、+=、-=、*=、/=、=、=,2.4 Visual Basic.NET基本语句和语法,第二章 Visual Basic.NET程序设计基础,21,Like:按样式比较字符串,#单个数字?单个字符*任意字符charlist 字符列表中的单个字符!charlist非字符列表中的单个字符,2.4 Visual Basic.NET基本语句和语法,第二章 Visual Basic.NET程序设计基础,22,Like:按样式比较字符串,“123”Like“#23”“Hello”Like“H?llo”“Hello”Like“H*”“X”Like“D-Z”“X”Like“!D-Z”,True,False,2.4 Visual Basic.NET基本语句和语法,第二章 Visual Basic.NET程序设计基础,23,2.4 Visual Basic.NET基本语句和语法,第二章 Visual Basic.NET程序设计基础,24,IfThenElse语句,2.4 Visual Basic.NET基本语句和语法,If(条件)Then Then语句块 Else Else语句块End If,If Score60 Then MessageBox.Show(“合格”)Else MessageBox.Show(“不合格”)End If,第二章 Visual Basic.NET程序设计基础,25,IfThenElseIf与Select Case语句,2.4 Visual Basic.NET基本语句和语法,If(条件1)Then Then 语句块1ElseIf(条件2)Then ElseIf 语句块2 ElseIf(条件n)Then ElseIf 语句块nElse Else 语句块End If,Select Case 表达式 Case 值1 满足值1的语句块 Case 值2 满足值2的语句块 Case 值n 满足值n的语句块 Case Else 不满足以上值的语句块 End Select,第二章 Visual Basic.NET程序设计基础,26,2.4 Visual Basic.NET基本语句和语法,If Score=90 Then Grade=AElseIf Score=80 And Score=70 And Score=60 And Score=69 Then Grade=DElse Grade=EEnd If,Select Case Score Case Is=90 Grade=A Case 80 To 89 Grade=B Case 70 To 79 Grade=C Case 60 To 69 Grade=D Case Else Grade=E End Select,第二章 Visual Basic.NET程序设计基础,27,ForNext语句,2.4 Visual Basic.NET基本语句和语法,For 计数器=初始值 To 终值 Step 步长 语句块 Exit For 语句块Next 计数器,Sum=0For i=1 To 10 Sum+=iNext,第二章 Visual Basic.NET程序设计基础,28,Do While|UntilLoop 与DoLoop While|Until 语句,2.4 Visual Basic.NET基本语句和语法,Do While|Until(条件)语句块 Exit Do 语句块Loop,Do 语句块 Exit Do 语句块Loop While|Until(条件),Do While i=10 Sum+=i i+=1Loop,Do Until i10 Sum+=i i+=1Loop,Do Sum+=i i+=1Loop While i=10,Do Sum+=i i+=1Loop Until i10,第二章 Visual Basic.NET程序设计基础,29,2.5 Visual Basic.NET的过程,在Visual Basic中,通用过程分为两类:子程序过程(Sub过程)函数过程(Function过程),第二章 Visual Basic.NET程序设计基础,30,Sub过程的定义Static Private Public Sub 过程名(参数表)语句序列End SubSub前面的Static、Private和Public指定过程或其中定义的变量的有效范围Sub过程定义以Sub(除前面的Static、Private和Public外)开始,以End Sub结束,中间是描述过程功能的语句序列,称为过程体。,2.5 Visual Basic.NET的过程,第二章 Visual Basic.NET程序设计基础,31,过程名与变量的命名规则相同参数表指定在调用该过程时,应该传递的参数的个数和类型。每个参数项的形式如下:ByVal|ByRef 参数名()As 类型End Sub表明过程的结束。Sub过程不能嵌套,Sub Multiple(ByVal x As Integer,ByVal y As Integer)Messagebox.Show(x*y)End Sub,Sub 过程1()Sub 过程2()EndSubjectEnd Sub,2.5 Visual Basic.NET的过程,第二章 Visual Basic.NET程序设计基础,32,Function过程的定义 Static Private Public Function 过程名(参数表)As 类型名 语句序列End FunctionFunction过程以Function(除前面的Static、Private和Public外)开始,以End Function结束,中间是描述过程功能的语句序列,称为过程体或函数体。,2.5 Visual Basic.NET的过程,第二章 Visual Basic.NET程序设计基础,33,过程体中至少有一条Return语句,形式为 Return 表达式。当调用该过程时,过程的返回值即此表达式的值。“As 类型名”指定Function过程返回值的数据类型。其他部分同Sub过程的定义。,Function Multiple(ByVal x As Integer,_ ByVal y As Integer)As Integer Return x*yEnd Sub,Function Multiple(ByVal x As Integer,_ ByVal y As Integer)As Integer Mutiple=x*yEnd Sub,2.5 Visual Basic.NET的过程,第二章 Visual Basic.NET程序设计基础,34,调用Sub过程,即执行该过程中的代码。调用Sub过程的形式如下:过程名(实际参数表)其功能是:运行该过程名对应的过程。由于Function过程返回一个值,可以像其它函数一样来调用。一般它作为表达式或表达式的一部分出现。其在表达式中出现的形式为:变量=过程名(参数表),2.5 Visual Basic.NET的过程,第二章 Visual Basic.NET程序设计基础,35,Public Function Sum(ByVal a As Integer,_ ByVal b As Integer)As Integer Sum=a+bEnd Function,2.5 Visual Basic.NET的过程,Public Sub Sum(ByVal a As Integer,_ ByVal b As Integer,ByRef c _As Integer)c=a+bEnd Sub,调用语句:Sum(3,4,C),调用语句:C=Sum(3,4),第二章 Visual Basic.NET程序设计基础,36,2.6 Visual Basic.NET的常用函数,Abs(number)取得数值的绝对值。Asc(String)取得字符串表达式的第一个字符ASCII码。Chr(charcode)以ASCII码来取得字符内容。DateAdd(dateinterval,number,datetime)对日期或时间作加减。Now()取得目前的日期和时间。Int(number)传回小于或等于接收参数的最大整数值。,第二章 Visual Basic.NET程序设计基础,37,InStr(start,string1,string2)搜寻string2 参数设定的字符出现在字符串的第几个字符IndexOf(string,Integer)在指定索引处搜索子串SubString(string,Integer)从字符串中提取子串Replace(string,string)替换字符串中的子串Lcase(string)将字符串转换为小写字体。Len(string)取得字符串的长度。Ltrim(string)去掉字符串的左边空白部分。,2.6 Visual Basic.NET的常用函数,End of Chapter,