📄 asp03.htm
字号:
<p> 4、 While 语法: <br>
While 条件表达式 <br>
[语句块] <br>
[Exit While]<br>
[语句块] <br>
End While <br>
其中,Exit while为跳出循环体。</p>
<p>3.6 数组<br>
3.6.1 数组的声明及使用 语法:<br>
Dim 数组名([表达式1[,表达式2…]]) [As 数据类型] <br>
例如: <br>
Dim arr(10) As Integer '声明下标从0到10的一维数组,共有11个元素 <br>
Dim arr(5,4) As String '声明6行5列的二维数组,共有30个元素 <br>
可以在声明数组的同时进行初始化。例如: <br>
Dim arr(4) As Integer = {0,1,2,3,4} <br>
对数组中元素的引用格式为:数组名(下标1,下标2,…)。例如:<br>
arr(0)=5 '将5赋给数组的第一个元素 <br>
i=arr(3) '将数组的第4个元素赋给i <br>
以下代码利用循环查找符合指定条件的值:<br>
For i=0 To 4 <br>
If arr(i)>10 Then <br>
Exit For<br>
End if <br>
Next <br>
3.6.2 动态数组 <br>
动态数组的优点是可以根据用户需要,有效地利用存储空间。<br>
例如:<br>
Dim arr ( ) As Integer <br>
Dim i As Integer<br>
…… <br>
ReDim arr(i) <br>
For i=0 To 3 <br>
arr(i)=0 <br>
Next <br>
注意: <br>
(1)静态数组声明中的下标只能是常量,而动态数组ReDim语句中的下标可以是常量, 也可以是有了确定值的变量。<br>
(2)在过程中可多次使用ReDim来改变数组的大小,也可以改变数组的维数。<br>
3.6.3与数组相关的系统函数 <br>
VB.NET提供了以下与数组相关的函数 <br>
1. IsArray(varName) <br>
2. LBound(arrName,arrRank) <br>
3. UBound(arrName,arrRank)</p>
<p>3.7 过程<br>
3.7.1 Sub子程序 语法:<br>
[Private|Public] Sub 子程序名(参数表) <br>
语句块 <br>
[Exit Sub | Return]<br>
语句块 <br>
End Sub <br>
其中: SubEnd Sub是子程序的开始和结束标志。 参数表是调用该子程序时需进行传递的参数说明,每个参数的格式说明为:[{ByVal|ByRef}]
[ParamArray] 参数名 [()] As 参数类型 [=默认值] 参数表中可有多个参数,以逗号隔开。子程序名与变量命名规则相同。 Public|Private说明了子程序的访问控制类型,默认为Public。
Exit Sub/Return允许中途强制退出子程序。 例如,以下Add子程序求出两个参数之和并输出:<br>
Sub Add(ByVal a As Integer, ByVal b As Integer) <br>
Dim c As Integer<br>
c = a+b <br>
Response.Write("c=" & c) <br>
End Sub<br>
3.7.2函数 语法:<br>
[Private|Public]Function 函数过程名(参数表) [As 数据类型]<br>
语句块 <br>
函数名=返回值 <br>
[Exit Function]<br>
[语句块]<br>
End Function <br>
函数定义的语法格式与Sub子程序基本相似,有三点不同: <br>
(1) 函数定义的开始和结束标志分别是Function和End Function; <br>
(2) 函数定义头部有“As 数据类型”部分,用于说明函数返回值的类型;<br>
(3) 函数中需要有返回函数值的语句,返回函数值语句有以下两种形式<br>
1. 函数名=表达式;<br>
2. Return 表达式 <br>
3.7.3过程的调用 <br>
1. 调用Sub子程序 调用Sub子程序有两种格式,使用Call或直接通过子程序名进行调用。语法: [Call] 子程序名[(参数表)]<br>
2. 调用函数 函数的调用格式与Sub子程序相同,即在函数名之后加上实在参数表。 <br>
3.7.4参数传递 <br>
1. 按值传递参数 用“ByVal”关键字指出参数是按值来传递的。例如:<br>
Function Inc(ByVal i As Integer) <br>
i = i+1 <br>
End Function<br>
Sub CallInc() <br>
Dim X As Integer = 10 <br>
Response.Write("X=" & X) <br>
Inc(X) <br>
Response.Write("X=" & X) <br>
End Sub <br>
CallInc过程调用Inc函数,将实参X的值(10)传递给形参变量i,函数Inc()将i增1,但这个改变并不影响实参变量X的值,因此CallInc两次输出的X均为10
注意:“ByVal”关键字也可以省略。 <br>
2. 按地址传递参数 用“ByRef”关键字指出参数是按地址来传递的,按地址传递的效率比较高。<br>
3. 使用可选参数 参数表中含有“Optional”关键字的参数为可选的。 下面的例子给出了带有可选参数的过程的定义: <br>
Sub ABC(Optional ByVal MyCountry As String="China") <br>
……‘过程体语句 <br>
End Sub <br>
4. 数组参数 在定义过程时,可用数组作为参数。 语法: 形参数组名() [As 数据类型] 其中,数据类型为形参数组的元素类型。形参数组对应的实参数组必须也是数组,
并且数据类型与形参数组元素类型一致。例如,以下函数求数组各元素之和:<br>
Function SumArray(A() As Integer,n As Integer) As Integer <br>
Dim i As Integer, S As Integer =0 <br>
For i = 0 To n<br>
S += A(i) <br>
Next <br>
End Function </p>
<p>3.8 类和对象基本概念 <br>
3.8.1 类和对象 <br>
1. 类 类是具有相同属性和动作的事物的抽象,它是面向对象编程的最基本和最核心的概念。 语法:<br>
Class 类名 <br>
类成员的声明 <br>
End Class <br>
类的成员包括属性(又称为域)和方法。以下是一个类Employee的定义:<br>
Class Employee<br>
Dim salary As Decimal = 40000 <br>
Dim yearlyBonus As Decimal = 4000<br>
Public Sub PrintSalary()<br>
System.Console.Write(salary) ' print the salary to the Console
<br>
End Sub<br>
End Class <br>
2. 对象 类是创建对象的模板,对象是类的实例。 在VB.NET中使用New语句来创建对象。<br>
语法:<br>
Dim 对象名 As 类名 <br>
对象名 = New 类名() <br>
上述语法的功能是创建一个类对象,创建一个对象的过程又被称为实例化,注意对象的初始化必须使用关键字New。 下面的语句创建一个Employee类对象:<br>
Dim Obj As Employee <br>
Obj=New Employee()<br>
可以简化上面的语句:<br>
Dim Obj As New Employee() 语法: <br>
对象名.方法名(实在参数表) <br>
对象名.域名<br>
3.8.2 名字空间 语法: <br>
Import 名字空间名称 <br>
上述语法导入指定的名字空间,在其后使用该名字空间的方法就可以使用简略记法。<br>
Imports System <br>
Class Employee <br>
Dim salary As Decimal = 40000 <br>
Dim yearlyBonus As Decimal = 4000 <br>
Public Sub PrintSalary() ' print the salary to the Console <br>
Console.Write(salary) <br>
End Sub <br>
End Class <br>
3.8.3 访问控制 所谓访问控制指的是类中成员的访问属性。VB.NET中有几个级别的访问控制, 列于表3.8中。 </p>
<p align="center"><img src="image/slide3image009.PNG" width="633" height="246"></p>
<p>3.8.4 继承 语法:<br>
Class 类名<br>
Inherits 基类名 <br>
类成员的声明 <br>
End Class <br>
上述语法声明一个由基类名所表示的类派生的新类,其中的“类成员的声明”是派生类新增加的成员,可以是属性,也可以是方法。例如:<br>
Class Manager <br>
Inherits Employee <br>
Public Sub PrintBonus() <br>
Console.Write(yearlyBonus) <br>
End Sub <br>
End Class<br>
上例定义了Employee类的子类Manager,该类除了继承了其父类Employee的所有成员之外,还增加一个方法成员PrintBonus()。 </p>
<p align="center"><a href="index.htm">回首页</a></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -