第 2 章 VB.NET 编程基础

48
第 2 第 VB.NET 第第第第 第第 第第 VB.NET 第第 第第第 第第 VB.NET 第 VB 第第第 第第 VB.NET 第第第第第第 第第第第第 第第第第第第第 第第第第第第第 第第第第第第第第 第第第第第第第

description

第 2 章 VB.NET 编程基础. 目标 了解 VB.NET 程序书写规则 了解 VB.NET 和 VB 的不同 掌握 VB.NET 中的数据类型、变量与常量 掌握各种运算符 掌握数组的用法 掌握各种控制结构 掌握过程与函数. 2.1 VB.NET 程序书写规则. 任何程序设计语言都有确定的书写规则。 VB.NET 的主要规则如下: 1 、代码不区分大小写 对于 VB.NET 的关键字,一般将首字母转换为大写,其余字母转换为小写; 对于用户定义的变量、过程和函数名,以定义的格式为准,以后输入时将自动转换为定义时的格式 2 、程序书写自由 - PowerPoint PPT Presentation

Transcript of 第 2 章 VB.NET 编程基础

Page 1: 第 2 章  VB.NET 编程基础

第 2 章 VB.NET 编程基础

目标 了解 VB.NET 程序书写规则 了解 VB.NET 和 VB 的不同 掌握 VB.NET 中的数据类型、变量与常量 掌握各种运算符 掌握数组的用法 掌握各种控制结构 掌握过程与函数

Page 2: 第 2 章  VB.NET 编程基础

2.1 VB.NET 程序书写规则 任何程序设计语言都有确定的书写规则。 VB.NET 的主要规则如下: 1 、代码不区分大小写 对于 VB.NET 的关键字,一般将首字母转换为大写,其余字母转换为

小写; 对于用户定义的变量、过程和函数名,以定义的格式为准,以后输入

时将自动转换为定义时的格式 2 、程序书写自由 如果在一行内显示多个语句,则在各个语句间用冒号分隔,例如: A=A+1 : B=B+A : C=C+B

一般一个语句占据一行,如果一条语句太长,不能在一行内写完,则要续行。 VB.NET 用“一个空格” +“ 下划线”表示续行

Page 3: 第 2 章  VB.NET 编程基础

2.1 VB.NET 与 VB 的不同1 、变量方面 在 VBScript 中一律将变量视为 Variant 型变量, A

SP.NET 中可使用 Dim 语句显式声明变量的数据类型,因为它是基于 VB.NET 的,不再是 ASP 中的 VBScript.

2 、过程、函数调用方面 VB.NET 中过程调用语法为:过程名(参数列表),且 V

B.NET 中默认为“按值传递”参数。3 、数组方面 原 VB6 的一些数组声明方式在 VB.NET 中已不再

适用,如: Dim intMyArr(15 to 30) 在 VB.NET 中数组的下标总是基于 0 的。 赋初值得方式也不同,见书。4 、部分常用函数的改变

Page 4: 第 2 章  VB.NET 编程基础

2.2 数据类型

类 型 .NET运行时

类型结构

存储大小(字节)

值 范 围

Boolean System.Boolean 1 True/False

Byte System.Byte 1 0~255

Char System.Char 2 0~65535

Date System.DateTime 8 公元 1年 1月 1日 ~ 9999年 12月 31日

Decimal System.Decimal 12

无小数点的整数范围是:

+/-7922E162514264337593543950335,

而在有 28 个小数位的情况下,取值范围为+/-7.922E162514264337593543950335.

绝对值最小的非零数是:

+/-0.0000000000000000000000000001

Double

( 双精度

浮点型 )

System.Double 8

变量存储为 64 位浮点数值形式,对于负数为: -1.79769313486231E308

到 - 4.94065645841247E-324;

对于正数为: 4.94065645841247E-324

到 1.79769313486232E308

Integer System.Int32 4 变量存储为 32位整数值,范围从

-2147483648 到 2147483647

Page 5: 第 2 章  VB.NET 编程基础

2.2 数据类型

Long

(长整型) System.Int64 8

变量存储为 64位整数值,范围从

-9223372036854775808 到

9223372036854775807

Object System.Object 4 任何数据类型都可存储在 Object 类型的变量中

Short System.Int16 2 -32768~32767

Single

(单精度

浮点型)

System.Single 4

变量存储为 32位浮点数值形式.范围:正数为:1.401298E-45到 3.402823E38

负数为:-3.402823E38到-1.401298E-45。

String System.String

10个字节+2*字符串长度

0到近乎 20亿个 Unicode字符

用户定义

的类型

从 System.

ValueType继承

所有成员大小之和

Page 6: 第 2 章  VB.NET 编程基础

2.3 常量与变量

1 、常量 常量是代表某些特殊含义的不可改变的值。分为系统常量和用户自定义

的常量。系统常量是系统预先定义好的常量,可 以在脚本中使用,不受作用域和可见性限制。

系统常量:例: vbcrlf: 回车换行符 用户自定义常量

声明常量的语法如下: [Public|Protected|Friend|Private] Const constname [As DataType]=InitExpr[Public|Protected|Friend|Private] Const constname [As DataType]=InitExpr

Page 7: 第 2 章  VB.NET 编程基础

2.2 常量与变量

2、变量 变量它相当于一个容器,用于保存程序执行过程中可能发生变化的值。 1 )命名规则: 只能是字母、下划线和汉字开头,后跟字母、数字、下划线和汉字。 不能使用 VB.NET 系统保留的关键字 变量名在其声明的作用域内必须唯一 采用 Pascal 和 Camel 命名法

Page 8: 第 2 章  VB.NET 编程基础

2.2 常量与变量

2 )变量的声明 变量必须在使用前说明。提高编译效率,减少输入错误 例: dim dtvar as date

dim intx as integer =100

dim chry as char

在 ASPX 页面的顶部的 <page> 指令中 , 可以设置 :

<%@ Page language=“VB” explicit=“true” %>

会要求变量必须先定义 , 后使用 !

3 )变量的作用域 变量按作用域可分为“全局变量”和“局部变量”。

Page 9: 第 2 章  VB.NET 编程基础

课堂实训 1

在不同的子程序或函数中定义同名的局部变量,并显示变量的值。

操作步骤:1 )新建一个名称为“ 2-1” 的项目,并将该项目下的默认窗体改名为“ ex2-1.aspx” 。( 2 )双击“ ex2-1.aspx” 窗体,进入代码编辑页面,在 page_load 事件中和子程序 proc1() 中,分别定义一字符串变量 message ,赋不同的值并显示相应变量的值。

Page 10: 第 2 章  VB.NET 编程基础

课堂实训 2

声明一个全局变量,并在子程序或函数中改写该全局变量的值。操作步骤:( 1 )新建一个名称为“ 2-2” 的项目,并将该项目下的默认窗体改名为“ ex2-2.aspx 。( 2)双击“ ex2-2.aspx”窗体,进入代码编辑页面,声明一个全局变量 message ,在事件 Page_Load 中和子程序 proc1() 中,对该全局变量赋值并显示该变量的值。

Page 11: 第 2 章  VB.NET 编程基础

课堂实训 3

声明一个全局变量,并在子程序或函数中声明同名的局部变量,并赋值。操作步骤:( 1)新建一个名称为“ 2-3”的项目,并将该项目下的默认窗体改名

为“ ex2-3.aspx”。( 2)双击“ ex2-3.aspx”窗体,进入代码编辑页面,声明一个全局变

量 message ,在子程序 proc1() 中声明同名局部变量并赋值,

Page 12: 第 2 章  VB.NET 编程基础

课堂实训 4

课堂实训 4: 静态变量的使用。操作步骤:( 1 )新建一个名称为“ 2-4” 的项目,并将该项目下的默

认窗体改名为“ ex2-4.aspx” 。( 2 )双击“ ex2-4.aspx” 窗体,进入代码编辑页面,输入

代码

Page 13: 第 2 章  VB.NET 编程基础

2.3 运算符

1 、赋值运算符

运算符 例子 等价于

= A=value

+= A+=B A=A+B

-= A-=B A=A-B

*= A*=B A=A*B

/= A/=B A=A/B

\= A\=B A=A\B

&= A&=B A=A&B

^= A^=B A=A^B

Page 14: 第 2 章  VB.NET 编程基础

2.3 运算符

2 、算术运算符

运算符 说明 使用语法

+ 加 C=A+B

- 减 C=A-B

* 乘 C=A*B

/ 除 C=A/B

\ 整除 C=A\B

Mod 取余 C=A Mod B

^ 乘方 C=A ^B

Page 15: 第 2 章  VB.NET 编程基础

2.3 运算符3 、 比较运算符

运算符 说 明

= 比较两个表达式的值是否相等,相等为 True,否则为 False

> 比较左边的表达式是否大于右边的表达式,大于为 True,否则为False

>= 比较左边的表达式是否大于等于右边的表达式,大于等于为 True,否则为 False

< 比较左边的表达式是否小于右边的表达式,小于为 True,否则为False

<= 比较左边的表达式是否小于等于右边的表达式,小于等于为 True,否则为 False

<> 比较两个表达式的值是否不等,不等为 True,否则为 False

Like 比较两个字符串是否匹配,二者匹配为 True,否则为 False

Is 比较两个对象是否一致,二者一致为 True,否则为 False。它要求两“上操作数必须是 Object” 类型。

TypeOf-Is 检查对象是否为某种类型,是为 True,否则为 False

Page 16: 第 2 章  VB.NET 编程基础

2.3 运算符

4 、逻辑运算符

逻辑运算符是用来连接多个条件式,并判断其结果真假以决逻辑运算符是用来连接多个条件式,并判断其结果真假以决定程序流程的运算符定程序流程的运算符

运算符 使用语法 含 义

And C=A And B A和 B都成立时,C为 True,其他情况 C均为 False

Or C=A Or B A和 B有一个成立时,则结果为 True,

只有 A和 B都不成立时,C才为 False

Not C = Not A 对 A 取反。即若 A=True,则 C= False

Xor C=A Xor B 当 A和 B的取值不同时,结果为真,反之为假。

AndAlso C=A AndAlso B 若 A不成立,则不用计算 B,其余同 And

OrElse C=A OrElse B 若 A成立,则不用计算 B,其余同 Or

Page 17: 第 2 章  VB.NET 编程基础

2.3 运算符

5 、连接运算符

连接运算符就是将两个表达式连接在一起。运算符有“连接运算符就是将两个表达式连接在一起。运算符有“ &”&”和“和“ +”+” ,如果操作数是“,如果操作数是“ String”String” 类型,那么这两个运算类型,那么这两个运算符完成的功能是一样的符完成的功能是一样的

运算符 说 明

+ “如果两个操作数为 String”,就把这两个操作数连接成一个字符串,否则按加号处理。

& “将操作数强行转换成 String” , 再进行连接运算

Page 18: 第 2 章  VB.NET 编程基础

2.4 数组

2.4.1 数组的概念 数组数组 (Array)(Array) 用来存放一组具有相同数据类型的值,可用来存放一组具有相同数据类型的值,可以用数组名字引用一系列变量,并用数字以用数组名字引用一系列变量,并用数字 (( 索引索引 )) 来识别来识别它们。在许多场合,使用数组可以缩短和简化程序,因它们。在许多场合,使用数组可以缩短和简化程序,因为可以利用索引值设计一个循环,高效处理多种情况。为可以利用索引值设计一个循环,高效处理多种情况。数组的元素下标是连续的,因为对每一个索引值都分配数组的元素下标是连续的,因为对每一个索引值都分配空间,所以不要不切实际地声明一个太大的数组空间,所以不要不切实际地声明一个太大的数组

Page 19: 第 2 章  VB.NET 编程基础

2.4 数组

声明数组 与变量一样,数组也是要先声明后才能使用。下面为与变量一样,数组也是要先声明后才能使用。下面为 声明数组方法声明数组方法 :: Dim Dim 数组名称(下标大小)数组名称(下标大小) As As 数据类型数据类型 , , 或或

Dim Dim 数组名称数组名称 () As () As 数据类型数据类型 =New =New 数据类型数据类型 (( 下标大小下标大小 ){ }){ }

设置数组值 设置数组的语法设置数组的语法 :: 数组名称(索引值) 数组名称(索引值) = = 元素元素

2.4.2 声明与设置数组值

Page 20: 第 2 章  VB.NET 编程基础

2.4 数组

2.4.3 改变数组大小

VB.NETVB.NET中并不允许声明一个大小不确定的数组。但是,它允中并不允许声明一个大小不确定的数组。但是,它允许我们随时调整数组的大小,以符合编程需要。下面是它许我们随时调整数组的大小,以符合编程需要。下面是它的语法格式:的语法格式:

ReDim [Preserve] ReDim [Preserve] 数组名称数组名称 (( 数组大小数组大小 ))

其中:“其中:“ ReDim”ReDim” 语句用来改变数组大小,而“语句用来改变数组大小,而“ PresePreserve”rve” 关键字则会将原数组中的数据保留下来关键字则会将原数组中的数据保留下来

Page 21: 第 2 章  VB.NET 编程基础

2.4 数组 2.4.4 数组列表 【例 2-2】下列程序的输出结果如图所示。 <%@ page language="vb" %><%@ page language="vb" %> <html><html> <head><head> <script language="vb" runat="Server"><script language="vb" runat="Server"> Public Sub Page_Load(sender as Object,e as EventArgs)Public Sub Page_Load(sender as Object,e as EventArgs) Dim j as integerDim j as integer Dim arl as New ArrayList()Dim arl as New ArrayList() For j=0 to 10For j=0 to 10 arl.Add(j)arl.Add(j) Next jNext j For j=0 to 10For j=0 to 10 Response.write(Arl(j)&"<br>")Response.write(Arl(j)&"<br>") Next jNext j End SubEnd Sub </script></script> </head></head> <body><body> </body></body> </html></html>

Page 22: 第 2 章  VB.NET 编程基础

2.4 数组 2.4.5 多维数组

VB.NET 还支持多维数组。如要使用二维数组,则可以用下面三种方式中的一个来定义它:

Dim array1(2,2) As IntegerDim array2 As Integer(,)

Redim array2(2,2)

Dim array3 As Integer(,)={{10,20},{30,40}} ′array3(0,0)=10 array3(0,1)=20 ′array3(1,0)=30 array3(1,1)=40

Page 23: 第 2 章  VB.NET 编程基础

2.5 控制语句控制语句是用来改变语句的流程, VB.NET 的控制语句又可分为两种:选择语句和循环语句

2.5.1 选择语句 1 、 If 语句If 语句是常用的选择语句,它适用于判断条件所产生的可能性不是很多

的情形。针对该条件语句,介绍两种常用语法格式。语法格式一:If ( 逻辑条件 ) Then

(执行语句序列 1)

Else

(执行语句序列 2)

EndIF

Page 24: 第 2 章  VB.NET 编程基础

语法格式二:If ( 逻辑条件 1) Then

( 执行语句序列 1)

Else I f ( 逻辑条件 2) then

( 执行语句序列 2)

……

Else I f ( 逻辑条件 n) then

( 执行语句序列 n)

Else

( 执行语句序列 n+1)

End IF

2.5 控制语句

Page 25: 第 2 章  VB.NET 编程基础

课堂实训 5

按年龄发放工资。根据用户输入不同的年龄,显示相应的工资。操作步骤:( 1 )新建一个名称为“ 2-5” 的项目,并将该项目下的默认窗体改名为“ ex2-5.aspx” 。( 2 )将” ex2-5.aspx” 窗体中的 PageLayout 属性设置为 FlowPageLayout 。并在该窗

体中输入“请您输入您的年龄:”;并添加一个按钮、一个文本框和一个标签框。 ( 3 )双击“ ex2-5.aspx” 窗体,进入代码编辑页面 , 在 btnsubmit_click 事件中编程 :

从文本框中获取用户输入的年龄,并根据年龄显示不同的工资。

Page 26: 第 2 章  VB.NET 编程基础

2.5 控制语句2 、条件语句 Select Case 语句 适用于判断条件为多种可能时。语法格式如下:Select Case 被测表达式Case Value1

执行语句序列 1

Case Value2

执行语句序列 2

……

Case ValueN

执行语句序列 N

Case Else

执行语句序列 N+1

End Select

Page 27: 第 2 章  VB.NET 编程基础

课堂实训 6

课堂实训 6 :用 Select …Case 语句实现根据用户输入的不同的年龄,显示相应的工资

操作步骤:( 1 )新建一个名称为“ 2-6” 的项目,并将该项目下的默认窗体改名为“ ex2-

6.aspx” 。( 2 )” ex2-6.aspx” 窗体的界面设计同课堂实训 5 的“ ex2-5.aspx” 。( 3 )双击“ ex2-6.aspx” 窗体,进入代码编辑页面。在 btnsubmit_click 事

件中编程:从文本框中获取用户输入的年龄,并根据年龄显示不同的工资。

Page 28: 第 2 章  VB.NET 编程基础

2.5.2 循环语句 循环语句用于重复执行一段代码。 VB.NET根据不同的情况,提供了四种循环语句: Do…Loop 语句、 For Each…In…Next 语句、 For…Next 语句和 While…End While 语句。

1 、 Do…循环语句 语法格式: Do While(Until) 判断条件 执行语句序列 [Exit Do]

执行语句序列 Loop

或 Do

执行语句序列 Loop While(Until) 判断条件

Page 29: 第 2 章  VB.NET 编程基础

课堂实训 7

课堂实训 7 :计算 10 以内数的累加和程序。操作步骤:( 1 )新建一个名称为“ 2-7” 的项目,并将该项目下的默认窗体改名为“ ex2-

7.aspx” 。( 2 )将” ex2-7.aspx” 窗体中的 PageLayout 属性设置为 FlowPageLayout 。

并在该窗体中输入“请输入 10 以内的数:”;并添加一个按钮、一个文本框和一个标签框。

3 )双击“ ex2-7.aspx” ,进入代码编辑页面。在 btnsubmit_Click 事件中编程:根据用户输入的值计算累加和

Page 30: 第 2 章  VB.NET 编程基础

2 、 For…Next 语句 用于事先知道确切循环次数的循环语句,其语法格式如下:

For i= 起始值 to 终止值 Step 步长

执行语句序列

Exit For

执行语句序列

Next

2.5.2 循环语句

Page 31: 第 2 章  VB.NET 编程基础

课堂实训 8

课堂实训 8 :计算 10 以内的奇数累加和程序操作步骤:( 1 )新建一个名称为“ 2-8” 的项目,并将该项目下的默认窗体改名为“ ex2-

8.aspx” 。( 2 )“ ex2-8.aspx” 的页面设计同课堂实训 7 的页面设计。唯一区别是将按

钮( btnsubmit )的 text 属性改为“计算奇数累加和”。( 3 )双击“ ex2-8.aspx” ,进入代码编辑页面。在 btnsubmit_Click事件中编

程:根据用户输入的值计算奇数累加和。

Page 32: 第 2 章  VB.NET 编程基础

3 、 For Each…In…Next 语句 与 For…Next循环类似,用于对数组或集合中每个元素进行遍历的。下面是一

个用 For Each…In…Next遍历数组元素的例子。例:Sub Sum()

Dim array as String={“ 元素 1” ,”元素 2” ,”元素 3” ,”元素 4”}

Dim Item As String

For Each Item In array

Response.Write(Item & “<br>” ) Next

End Sub

4 、 While…End While 语句

While…End While 语句类似于 Do While…Loop 语句。语法格式如下: While 判断条件 执行语句序列 End While

2.5.2 循环语句

Page 33: 第 2 章  VB.NET 编程基础

2.6 函数与过程 对于一个复杂的处理过程,可以将其分化为几个相对独立的小程序,每个小

程序解决一个或一部分问题,这些小程序就称为过程或函数。利用过程或函数编程,可以简化问题,具有以下好处:

过程具有可重用性。 可提高代码的可读性。 可增强代码的可维护性。 过程和函数的本质区别是:函数可以返回值,而过程不行 1 、过程 声明一个过程的语法格式:

[访问修饰符 ]Sub 过程名 [( 参数列表 )] 执行语句序列 [Exit Sub] 执行语句序列

End Sub 过程参数的声明

其语法声明如下: [Optional] [ByVal|ByRef] [ParamArray] argumentname As DataType

过程调用的语法格式: [Call] 过程名 [( 参数列表 ) 说明: Call 为调用的关键字,可以省略。

Page 34: 第 2 章  VB.NET 编程基础

课堂实训 9

课堂实训 9 :根据用户输入的年龄,若年龄大于 40 ,显示“ *** 对不起,你不是年青人!”若年龄小于等于 40 ,则显示“ *** 年青人,你风华正茂!”。要求年龄判断用过程实现。

操作步骤:( 1 )新建一个名称为“ 2-9” 的项目,并将该项目下的默认窗体改名为“ ex2-9.aspx” 。( 2 )将” ex2-9.aspx” 窗体中的 PageLayout 属性设置为 FlowPageLayout 。并在该窗

体中输入“请输入您的姓名:”和“请输入您的年龄:”。添加一个按钮、二个文本框和一个标签框。

3 )双击“ ex2-9.aspx” ,进入代码编辑页面。输入以下代码:btnsubmit_Click事件:获取用户输入的姓名和年龄。

Page 35: 第 2 章  VB.NET 编程基础

2 、函数函数的语法声明如下:

Function 函数名 [ (参数列表) ][As Type]

执行语句序列 [Exit Function]

执行语句序列End Function

说明:函数可以有一个返回值,一般是在函数体的末尾用“函数名 = 返回值”形式返回值,也可以用 Return( 返回值 ) 语句返回值。As Type 用于说明函数返回值的类型,为可选项。如果在函数执行过程中遇到 Exit Function 语句,则忽略 Exit Functi

on 后面的执行语句序列,立即退出函数体 .

2.6 函数与过程

Page 36: 第 2 章  VB.NET 编程基础

函数的调用的格式:变量名 = 函数名 [ (参数列表) ]

说明:函数的调用一般用于赋值表达式的右边。可以把一个函数作为一个值来看待。函数也可以不返回值,这时函数的作用就相当于过程。

2.6 函数与过程

Page 37: 第 2 章  VB.NET 编程基础

课堂实训 10

课堂实训 10: 求两个数的和。要求求和程序用函数实现。操作步骤:( 1 )新建一个名称为“ 2-10” 的项目,并将该项目下的默认窗体改名为“ ex2-10.asp

x” 。( 2 )将” ex2-10.aspx” 窗体中的 PageLayout 属性设置为 FlowPageLayout 。并在该

窗体中添加两个文本框、一个按钮和一个标签框并输入一个“ +” 号。 3 )双击“ ex2-10.aspx” ,进入代码编辑页面。输入以下代码。sum_Click事件:获取用户输入的两个加数,并调用函数求和。

Page 38: 第 2 章  VB.NET 编程基础

3 、属性过程 属性声明 属性本身是由包含在 Property 语句和 End Property 语句之间的代码

块来定义的语法如下:

[Public|Private|Friend|Protected] Property propertyname[(argu[Public|Private|Friend|Protected] Property propertyname[(argumentlist)] As datatypementlist)] As datatypeGetGet………………Return expressionReturn expressionEnd GetEnd GetSet[(ByVal newvalue As datatype)]Set[(ByVal newvalue As datatype)]Lvalue=newvalueLvalue=newvalueEnd SetEnd SetEnd PropertyEnd Property

2.6 函数与过程

Page 39: 第 2 章  VB.NET 编程基础

3 、属性过程

属性的引用 属性过程是被引用属性的代码隐式调用的 属性名在代码中使用的方式要与变量名在代

码中使用的方式一样 调用 Set过程的语法如下:

propertyname[(asrgumentlist)]=expressionpropertyname[(asrgumentlist)]=expression 调用 Get过程的语法如下:

lvalue=propertyname[(argumentlist)]lvalue=propertyname[(argumentlist)]

2.6 函数与过程

Page 40: 第 2 章  VB.NET 编程基础

1 、按值传递语法是:

[Private |Public|Friend] Sub subname(ByVal paramna[Private |Public|Friend] Sub subname(ByVal paramname As datatype)me As datatype)statementsstatementsEnd SubEnd Sub

或是:[Private|Public|Friend] Function functionname(ByVal p[Private|Public|Friend] Function functionname(ByVal paramname As DatatType) As DataTypearamname As DatatType) As DataTypeStatementsStatementsReturn expressionReturn expressionEnd FunctionEnd Function

2.7 参数传递

Page 41: 第 2 章  VB.NET 编程基础

2 、按地址传递 按地址传递参数是用变量的内存地址去访问实际变量的内容

, 它的语法是:[Private |Public|Friend] Sub subname(ByRef paramname As dat[Private |Public|Friend] Sub subname(ByRef paramname As datatype)atype)

StatementsStatements

End SubEnd Sub

或是:[Private|Public|Friend] Function functionname(ByRef paramname [Private|Public|Friend] Function functionname(ByRef paramname As DatatType) As DataTypeAs DatatType) As DataType

StatementsStatements

Return expressionReturn expression

End Function End Function

2.7 参数传递

Page 42: 第 2 章  VB.NET 编程基础

【例】按值传递参数

<script langauge="vb" runat="Server"><script langauge="vb" runat="Server"> sub total(ByVal day As Integer ,ByVal overtime As Double)sub total(ByVal day As Integer ,ByVal overtime As Double) Dim money As DoubleDim money As Double Money=day*800+overtime*800/3Money=day*800+overtime*800/3 Response.Write("Response.Write(" 工作工作 "& day &""& day &" 天 加班天 加班 "& overtime &""& overtime &" 小时小时 "&"<br>")"&"<br>") Response.Write("Response.Write(" 薪水总额薪水总额 : "& money &"<br>"): "& money &"<br>") Day+=10Day+=10 Response.write("Response.write(" 函数中的天数函数中的天数 +10+10 后后 ="& day &"="& day &" 天天 "&"<br>")"&"<br>") end subend sub sub page_load()sub page_load() dim day,overtime As Doubledim day,overtime As Double day=24day=24 overtime=15overtime=15 total(day,overtime)total(day,overtime) Response.write("Response.write(" 主程序中的工作天数主程序中的工作天数 ="& day &"<br>")="& day &"<br>") end subend sub </script></script>

2.7 参数传递

Page 43: 第 2 章  VB.NET 编程基础

【例】 按地址传递参数

<script langauge="vb" runat="Server"><script langauge="vb" runat="Server"> sub total(ByRef day As Integer ,ByVal overtime As Double)sub total(ByRef day As Integer ,ByVal overtime As Double) Dim money As DoubleDim money As Double Money=day*800+overtime*800/3Money=day*800+overtime*800/3 Response.Write("Response.Write(" 工作工作 " & day & "" & day & " 天 加班天 加班 " & overtime & "" & overtime & " 小时小时 " & "<br>")" & "<br>") Response.Write("Response.Write(" 薪水总额薪水总额 :" & money & "<br>"):" & money & "<br>") Day+=10Day+=10 Response.write("Response.write(" 函数中的天数函数中的天数 +10+10 后后 =" & day & "=" & day & " 天天 " & "<br>")" & "<br>") end subend sub sub page_load()sub page_load() dim day,overtime As Doubledim day,overtime As Double day=24day=24 overtime=15overtime=15 total(day,overtime)total(day,overtime) Response.write("Response.write(" 主程序中的工作天数主程序中的工作天数 =" & day & "<br>")=" & day & "<br>") end subend sub </script></script>

2.7 参数传递

Page 44: 第 2 章  VB.NET 编程基础

2.7 综合实训—创建一个数值计算程序 项目功能:该项目完成两个数的加法、减法、乘法、除法、 a 的 b

次幂、求余等。设计思路:将各种操作符添加到列表框的成员中,单击“结果为”

按钮,根据列表框成员的值进行相应的运算,将运算的结果显示到标签中。

设计界面见下图:

Page 45: 第 2 章  VB.NET 编程基础

2.7 综合实训—创建一个数值计算程序btnsubmit_Click 事件:完成根据用户所选的运算符,对两个操作数进行计算,并

将结果显示出来到标签中。Private Sub btnsubmit_Click(ByVal sender As System.Object, ByVal e As Syste

m.EventArgs) Handles btnsubmit.Click Dim myoperator As String myoperator = operator.SelectedItem.Value.Trim Dim intval As Integer Select Case myoperator Case "+" intval = CType(myvalue1.Text, Integer) + CType(myvalue2.Text, Integer) myresult.Text = intval.ToString Case "-" intval = CType(myvalue1.Text, Integer) - CType(myvalue2.Text, Integer) myresult.Text = intval.ToString Case "*" intval = CType(myvalue1.Text, Integer) * CType(myvalue2.Text, Integer) myresult.Text = intval.ToString

Page 46: 第 2 章  VB.NET 编程基础

2.7 综合实训—创建一个数值计算程序Case "/" intval = CType(myvalue1.Text, Integer) / CType(myvalue2.Text, Integer) myresult.Text = intval.ToString Case "\“ intval = CType(myvalue1.Text, Integer) \ CType(myvalue2.Text, Integer) myresult.Text = intval.ToStringCase "^" intval = CType(myvalue1.Text, Integer) ^ CType(myvalue2.Text, Integer) myresult.Text = intval.ToStringCase "mod" intval = CType(myvalue1.Text, Integer) Mod CType(myvalue2.Text, Integer) myresult.Text = intval.ToStringEnd SelectEnd Sub

Page 47: 第 2 章  VB.NET 编程基础

2.7 综合实训—创建一个数值计算程序

说明:IsPostBack :指示该页是为响应客户端回发而加载,还是被

首次加载访问。 True: 为响应客户端回发而加载该页; False :是首次被加载访问

Ctype 函数:返回表达式显示地转换为指定数据类型、对象、结构、类或接口后的结果。语法格式如下: Ctype(expression,typename), 如果 expression 的值超过了 typename所允许的范围,将会出现错误。

Page 48: 第 2 章  VB.NET 编程基础

本章小结

本章主要讲述了 VB.NET 的基本语法。程序的书写规则。变量与常量的区别,变量的作用范围。各种运算符的含义和使用方法。数组的声明及赋值。选择语句和循环语句的结构以及过程和函数的作用和区别。