440 likes | 643 Views
第三章 Visual Basic.NET 语法. 学习内容. 本章主要介绍 VB.NET 的程序结构和基本语法,以及 VB.NET 的一些重要的函数的使用. 学习目标. 通过本章学习,应能达到: 了解: VB.NET 的基本结构; 应用: VB.NET 进行 .NET 编程。. 一、 VB.NET 的程序结构. 其格式如下: Module Module1 Sub Main() End sub End Module. 一、 VB.NET 的程序结构. 使用 VB.NET 编写的任何代码都必须按照以下顺序:
E N D
学习内容 本章主要介绍VB.NET的程序结构和基本语法,以及VB.NET的一些重要的函数的使用
学习目标 通过本章学习,应能达到: 了解:VB.NET的基本结构; 应用:VB.NET进行.NET编程。
一、VB.NET的程序结构 其格式如下: Module Module1 Sub Main() End sub End Module
一、VB.NET的程序结构 使用VB.NET编写的任何代码都必须按照以下顺序: 1. Option语句; 2. Imports语句; 3. Main过程; 4. 若适用,还有Class,Module和Namespace语句
一、VB.NET的程序结构 Option语句为后续的代码建立基本的规则,依防止语法和逻辑错误。 通过Imports语句导入命名空间,可以简化代码书写。 Main过程是应用程序的起始点——运行代码时访问的第一个过程。 类和模块是源文件代码最大的部分。
案例3-1 “Hello! World!”应用程序 步骤1:输入代码 打开[记事本]应用程序,输入以下代码并保存为Hello.vb文件。 Module Hello Sub Main() System.Console.WriteLine(“Hello! World”) End Sub End Module
一、VB.NET的程序结构 步骤2:打开[Visual Studio.NET命令提示]窗口 步骤3:编译并运行 1. 执行VBC Hello.vb进行编译; 2. 编译器创建一个Hello.exe文件; 3. 输入Hello运行该程序。
二、操作符与表达式 • 赋值操作符 是“=” a. VB.NET可以对变量进行连续赋值,赋值操作符是右关联的。如 a=b=c 等价于 a=(b=c) b. 在简单赋值操作符之前加上其他操作符,可以构成复合操作符号。如 a+=5 等价于 a=a+5
二、操作符与表达式 • 关系操作符与关系表达式 有六种:<、<=、>、>=、=、<> • 数学操作符和数学表达式 有四种:+、-、*、/ 对于字符串类型的变量,加法操作符的作用是连接,返回值是字符串类型。但是通常在VB.NET中使用&符号来连接两个字符串。 注意:在除法运算中,返回值的类型与操作数中精度最高的操作数的类型相同。如:5/2=2,5.0/2=2.5
二、操作符与表达式 • 逻辑操作符和逻辑表达式 有四种:NOT、AND、OR、XOR 其优先级顺序由高到低为NOT,AND,OR,XOR
三、数据类型、变量、常量和数组 VB.NET在支持的数据类型上和VB6.0版本区别比较大。类型如表3-1所示。P24 转换函数:如表3-2
变量 VB.NET不再允许使用未声明的变量,以便编译器为他们分配内存空间。 表3-3变量声明语句 三、数据类型、变量、常量和数组
三、数据类型、变量、常量和数组 • 常量 在VB.NET中,常量主要有两种来源,一种是内部的或系统定义的常量,另一种是用户自定义的常量。用户定义的常量用Const语句声明,其格式为: [Public] [Private] Const constantname [As type]=expression 如: Public const AA As Integer=128
三、数据类型、变量、常量和数组 • 数组 数据是一个由相同名称相关联的,具有相同类型的变量的集合。数组中包含的变量又称为数据元素。数据包括固定数组和动态数组。
三、数据类型、变量、常量和数组 • 数组 (1) 固定数据 数据必须用Global或Dim语句定义。Dim语句的语法格式为: Dim 数据名([Lower To] Upper,[Lower To] Upper) [As Type] Lower是数据下标的下限,Upper是数据下标的上限,Lower的缺省值为0 如:Dim Btn1(1 To 27) As Button
三、数据类型、变量、常量和数组 • 数组 (2) 动态数组 A. 用带空()的Dim声明一个动态数组 如 Dim XDF() B. 用ReDim语句定义动态数组的维数和元素的个数。其格式为: ReDim [Preserve] 数组 ([Lower To] Upper,[Lower To] Upper) [As Type] 其中:Preserve表示是否保护已有的数据,它只能改变多维数据最后一维的上限。如: ReDim Preserve XDF(UBound(XDF)+20)
四、控制分支语句 使用条件语句可以控制程序的流程。使用条件语句可以编写进行判断和重复操作的VB.NET代码。VB.NET可使用以下条件语句: If···Then···Else 语句 Select Case 语句
四、控制分支语句 • 使用If···Then···Else语句 格式一:条件后植根一条语句可省略End If。 If myDate<Now Then myDate=Now 格式二:执行多条语句。 If value=0 Then ··· End If
四、控制分支语句 • 使用If···Then···Else语句 格式三:二重分支。 If value=0 Then ··· Else ··· End If
四、控制分支语句 • 使用If···Then···Else语句 格式四:多重分支。 If value=0 Then Flag=5 ElseIf value=1 Then Flag=10 ElseIf value=2 Then Flag=15 Else Msgbox “数值超出范围” End If
四、控制分支语句 • 使用Select Case语句 Select Case结构在其开始处使用一个只计算一次的简单测试表达式。表达式的结果将结构中每个Case的值比较。如果匹配,则执行与该Case关联的语句块。
四、控制分支语句 • 使用Select Case语句 Select语句的基本格式: Select Case Flag Case 1 call func1 Case 2 call func2 Case Else call err_msg End Select
五、循环语句与控制流 在VB.NET中可使用下列循环语句: Do···Loop:当(或直到)条件为True时循环; While···Wend:当条件为True时循环; For···Next:指定循环次数,使用计数器重复运行语句; For Each···Next:对于集合中的每项或数组中的每个元素,重复执行。
五、循环语句与控制流 • 使用Do循环 当条件为True时或条件变为True之前,重复执行语句块。当条件为True时重复执行语句。 While关键字用于检查Do···Loop语句中的条件。有两种方式检查条件:在进入循环之前检查条件;或者在循环至少运行完一次之后检查条件。 如果不知道什么时候退出循环,可以用Exit Do语句,并加上判断条件来退出Do···Loop循环。
五、循环语句与控制流 使用Do···Loop语句控制循环 Dim counter,myNum counter=0 myNum=20 Do While myNum>10 myNum=myNum-1 counter=counter+1 Loop MsgBox “循环重复了” & counter & “次”
五、循环语句与控制流 • While···End While While···End While实现循环也是先判断while后面的条件是否成立,如果条件成立则执行循环体中的内容,直到条件不成立时。 注意:While和Wend必须配对使用。
五、循环语句与控制流 • For···Next For···Next语句用于将语句块运行指定的次数。在循环中使用计数器变量,该变量的值随每一次循环增加或减少。Exit···For 语句用于在计数器达到其中直至之前退出For···Next 语句。如: Dim x For x=1 to 5 MsgBox(x) Next
五、循环语句与控制流 • For Each···Next For Each···Next不是将语句运行指定的次数,而是对于数组中的每个元素或对象集合中的每一项重复一组语句。这在不知道集合中元素的数目是非常有用。 如:使用组件
五、循环语句与控制流 • For Each···Next 如:使用组件 Dim d,I d=CreateObject (“Scripting.Dictionary”) d.Add(“0”,”Athens”) d.Add(“1”,”Belgrade”) d.Add(“2”,”Cairo”) For Each I In d MsgBox(I & “=” & d.Item(I)) Next
六、过程和自定义函数 在VB.NET中,过程被分为两类:Sub过程和Function函数。 • Sub过程 Sub过程是包含在Sub和End Sub语句之间的一组VB.NET,执行操作但不返回值。可带参数。如果Sub过程无任何参数,则Sub语句必须包含空括号()。
六、过程和自定义函数 • Sub过程 例如: Sub ConvertTemp() Dim temp temp=inputBox(“请输入华氏温度。”,1) MsgBox “温度为” & Celsius(temp) & “摄氏。” End Sub
六、过程和自定义函数 • Function过程 Function过程是包含在Function和End Function语句之间的一组VB.NET语句。但是Function过程可以返回值。Function过程可以使用参数。如果Function过程无任何参数,则Function语句必须包含空括号()。Function过程通过函数名返回一个值,这个值是在过程的语句中赋值给函数名的。Function返回值的数据类型总是Variant。
六、过程和自定义函数 • Function过程 参数名可以是任何有效的变量名。使用Sub语句或Function语句创建过程时,过程名之后必须紧跟括号。如: Function Celsius (fDegrees) Celsius=(fDegrees-32)*5/9 End Function
六、过程和自定义函数 注意: 1. 要从过程获取数据,必须使用Function过程。 2. 记住Function过程可以返回值;Sub过程不返回值。
七、 VB.NET重要函数分析 (一) 与字符相关的函数 • Asc函数 返回与字符串的第一个字母对应的ANSI字符代码。 如: MyNumber1=Asc(“A”) ‘返回65 • Chr函数 返回与指定的ANSI字符代码相对应的字。如:MyChar1=Chr(65) ‘返回A
七、 VB.NET重要函数分析 (二) 与字符串相关的函数 • InStr函数 返回某字符串在另一字符串中第一次出现的位置。 下面的示例利用InStr搜索字符串。
Dim SearchString,searchchar Dim Mypos1,mypos2,mypos3,mypos4 SearchString=“XXpXXpXXPXXP” SearchChar=“P” MyPos1=InStr(4,SearchString,SearchChar,1) ‘6 MyPos2=InStr(1,SearchString,SearchChar,0) ‘9 MyPos3=InStr(SearchString,SearchChar) ‘9 MyPos4=InStr(1,SearchString,”W”) ‘0 MsgBox(Mypos1 & mypos2 & mypos3 & mypos4)
七、 VB.NET重要函数分析 (二) 与字符串相关的函数 2. Len函数 返回字符串内字符的数目,或是存储一变量所需的字节数。如: Dim MyString MyString=Len(“VB.NET实用案例编程”) ‘12 MsgBox(MyString)
七、 VB.NET重要函数分析 (二) 与字符串相关的函数 • Mid函数 从字符串中返回指定数目的字符。如: Dim MyVar MyVar=Mid(“VB Script is fun!”,4,6) ‘ String MsgBox(MyVar) 注:左子串函数为 Left, 右子串函数为 Right
七、 VB.NET重要函数分析 • Replace 函数 返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。例如: Dim MyString1,MyString2 MyString1=Replace(“XXpXXPXXp”,”p”,”Y”) MyString2=Replace(“XXpXXPXXp”,”p”,”Y”,3,-1,1) MsgBox(MyString1 & “ ” & MyString2)
七、 VB.NET重要函数分析 • Split 函数 返回基于0的一位数组,其中包含指定数目的子字符串。 Dim MyString,MyArray MyString=Split(“VB.NETXisXfun!”,”x”,-1,1) ‘MyString(0) 包含”VB.NET”。 ‘MyString(1) 包含”is”。 ‘MyString(2) 包含”fun!”。 MsgBox(MyString(0) & “ ” & MyString(1) & “ ” & MyString(2))
七、 VB.NET重要函数分析 • LTrim,RTrim和Trim函数 返回不带前导空格(LTrim)、后续空格(RTrim)或前导与后续空格(Trim)的字符串副本。Trim是取出的意思,函数的功能是去空格。LTrim就是将字符串左边的空格去掉,RTrim去的是右边的。Trim是去除字符串两边的空格。
本章小结 • Main过程是应用程序的起始点; • 使用 vbc.exe 编译 vb 文件; • 数组包括固定数组和动态数组; • ReDim语句可以更改数组每一维的长度; • VB.NET中有2种条件语句:If···Then···Else语句和Select Case语句; • VB.NET中有4种循环语句:Do···Loop, While···Wend, For···Next和For Each···Next; • 不知道集合中元素的数目时使用 For Each···Next循环。