1 / 43

第二章 ASP.NET 语法基础

第二章 ASP.NET 语法基础. 2.1 Asp.NET 的语法规则 2.2 数据类型 2.3 常量、变量、运算符、表达式 2.4 过程、函数与数组 2.5 程序的结构. 2.1 Asp.NET 的语法规则. 1 .代码不区分字母大小写 2 .程序书写自由 3 .允许加入注释文本. 2.2 数据类型. 2 . 2 . 1 命名约定 .NET 框架类型使用点语法命名方案, 全名的第一部分(最右边的点之前的内容)是命名空间名。全名的最后一部分是类型名。 例:

spence
Download Presentation

第二章 ASP.NET 语法基础

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第二章 ASP.NET语法基础

  2. 2.1 Asp.NET的语法规则 • 2.2 数据类型 • 2.3 常量、变量、运算符、表达式 • 2.4 过程、函数与数组 • 2.5 程序的结构

  3. 2.1 Asp.NET的语法规则 • 1.代码不区分字母大小写 • 2.程序书写自由 • 3.允许加入注释文本

  4. 2.2 数据类型 • 2.2.1 命名约定 • .NET 框架类型使用点语法命名方案,全名的第一部分(最右边的点之前的内容)是命名空间名。全名的最后一部分是类型名。 • 例: System.Collections.ArrayList 表示 ArrayList 类型,该类型属于 System.Collections 命名空间。System.Collections 中的类型可用于操作对象集合。

  5. 2.2.2系统命名空间 System 命名空间是 .NET 框架中基本类型的根命名空间。此命名空间包括表示由所有应用程序使用的基础数据类型的类:Object(继承层次结构的根)、Byte、Char、Array、Int32、String 等。

  6. 2.3 常量、变量、运算符、表达式 • 2.3.1 常量 • 1、用户自定义常量 声明变量或常数可以通过以下几种方式:const、Dim、Private、Protected、Public、Shadows、Shared、Static • Const语句自定义常量的格式: • Const name [As type] = expression • 例: Const PI=3.14159 省略As关键字,将使用表达式的数据类型 Const MyName As String ="SYR“ 声明一个String型常量,值为“SYR”

  7. 2 系统常量 常数是属于类型的常数值。常数隐式地为 Shared。 常数的类型只能为基元类型 Object 或 String。

  8. 3 应用实例:计算圆面积 • <script Language="VB" runat="server"> • Sub Show_Form(Sender As Object, E As EventArgs) • Const Pi=3.14159 • Dim dblRadius,dblCirleArea As double • dblRadius=input1.value • dblCirleArea=Pi*dblRadius^2 • lblShow.text = dblCirleArea • End Sub • </script> • <html> • <head> • <title>刘友生ASP.NET应用程序—计算圆面积</title> • </head> • <body> • <form method="post" runat="server"> • 半径:<input type="text" id="input1" name="input1" runat="server"><P> • <input type="button" name="btnSubmit" value="计算面积" runat="server" • onserverclick="Show_Form"> • </form> • <hr> • <asp:Label id="lblShow" runat="server" /> • </body> • </html>

  9. 2.3.2 变量 • 1、变量的命名规则 (1)变量名的首字符必须是英文字母、汉字或下划线,不能是数字,其余字符可以是英文字母、汉字、下划线,或是数字,变量名最长不得超过16383个字符。变量名若以下划线开头,则变量名中必须另外包括至少一个英文字母、汉字或数字。 (2)不能使用VB的保留标识(如对象、方法、事件关键字等)做变量名。 (3)为增强代码的可读性,命名变量时,可加前缀以表达变量的数据类型。 (4)Visual Basic.NET要求,变量必须在使用前加以说明。提出这样的要求有两个方面的考虑。第一,在编译阶段若能确知变量的数据类型,可有效提高编译效率;第二,可有效减少输入错误。

  10. 2、变量声明语法如下 [ReadOnly] Dim name [As [New] type] [=expression] 例: Dim boolVar As Boolean '声明一个boolean型变量boolVar Dim dtVar As Date '声明一个Date型变量dtVar Readonly Dim dtVar As Date '声明一个只读Date型变量dtVar Dim objVar As Object '声明一个Object型变量objVar Dim objVar '声明一个Object型变量objVar Dim intX,IntY,IntZ As Integer '声明三个Integer型变量 Dim IntX As integer,dbY,dbZ As Double '声明三个变量

  11. 2.3.3 运算符与表达式 运算符是表达进行何种运算的记号,是算式中的重要组成部分。传统的四则运算符就是最基本的运算符。 Visual Basic.Net中支持的运算符主要有以下几种:

  12. 2.3.3.1 算术运算符 通用格式是 number1 算术表达式 number2(其中算术表达式可以是^、*、/、\、Mod、+、-) 1、^ 运算符:求以某个数为底、以另一个数为指数的幂。 2、* 运算符:将两个数相乘。例如下面使用 * 运算符将两个数相乘。 3、/运算符:将两个数相除并返回以浮点数表示的结果 4、\运算符:将两个数相除并返回以整数形式表示的结果 5、Mod 运算符:将两个数相除并只返回余数 6、+运算符:将两个数相加。也用于连接两个字符串。其使用格式是: expression1 + expression2 7、-运算符:产生两个数的差或表示数值表达式的负值。

  13. 2.3.3.2 赋值运算符 • 赋值运算的通用格式是: variable 赋值运算 expression 1、=运算符:用于将值赋给变量或属性 例: myObject = myInt myObject = myString myObject = myButton 2、^= 运算符:计算以该变量值为底、以表达式为指数的幂,并将结果赋回给该变量 例: Dim var1 As Integer = 10 Dim var2 As Integer = 3 var1 ^= var2 ' The value of var1 is now 1000.

  14. 3、*=运算符:变量值乘以表达式值,并将结果赋给该变量 Dim var1 As Integer = 10 Dim var2 As Integer = 3 var1 *= var2 ' The value of var1 is now 30 • 4、/=运算符:变量值除以表达式值,并将结果赋给该变量。例如下面程序的结果是4。 Dim var1 As Integer = 12 Dim var2 As Integer = 3 var1 /= var2 • 5、\= 运算符:变量值除以表达式值,并将整数结果赋给该变量。例如下面的结果是3。 Dim var1 As Integer = 10 Dim var2 As Integer = 3 var1 \= var2

  15. 6、+=运算符:将变量值与表达式值相加,并将结果赋给该变量。也可以连接 String 变量与 String 表达式,并将结果赋给该变量 • 例下面的结果是13。 Dim var1 As Integer = 10 Dim var2 As Integer = 3 var1 += var2 下面在String变量中使用+=,将一个值与另一个值连接。 Dim var1 As String = "10" Dim var2 As String = "3" var1 += var2 ' The value of var1 is now "103". • 7、-=运算符:从变量值中减去表达式值,并将结果赋给该变量。下面程序使用 -= 运算符,从一个 Integer 变量中减去另一个 Integer 变量,并将结果3赋给Var1。 Dim var1 As Integer = 10 Dim var2 As Integer = 3 var1 -= var2

  16. 8、&= 运算符:连接 String 变量与 String 表达式,并将结果赋给该变量。 • 例如下面程序运行后 ,Var1的结果是“Hello World!”。 Dim var1 As String = "Hello " Dim var2 As String = "World!" var1 &= var2

  17. 2.3.3.3 比较运算符 • 1、格式: • 比较运算符是对表达式进行比较。其格式是: • result = expression1 comparisonoperator expression2 • result = object1 Is object2 • result = string Like pattern 下表包含比较运算符的列表,以及确定 result 是 True 还是 False 的条件。

  18. 2、注意 • 如果操作数都为字符串 根据字符串排序特征进行排序比较。 • 如果操作数都为数值 对象将被转换为 Double,并执行数值比较。 • 如果操作数一个是数值而另一个是 String,则String被转换为Double并执行数值比较。如果 String 不能转换为 Double,将引发InvalidCastException。 • 如果操作数有一个或两个都是 String 以外的引用类型 将引发 InvalidCastException。 • 对于数值比较,Nothing 被视为 0。对于字符串比较,Nothing 被视为 “”。 3、Is 运算符 比较两个对象引用变量。 result = object1 Is object2 4、Like运算符 比较两个字符串。 result = string Like pattern 5 、Option Compare 语句 Option Compare { Binary | Text }

  19. 2.3.3.4串联运算符 & 运算符:生成两个表达式的字符串连接。例如 Dim myStr As String myStr = "Hello" & " World" ' 运行结果为 "Hello World". +运算符:将两个数相加。也用于连接两个字符串。 2.3.3.5 逻辑/按位运算符 1、And 运算符: 对两个Boolean表达式执行逻辑合取,或对两个数值表达式执行按位合取。使用格式是: result = expression1 And expression2

  20. 2、Not 运算符: • 3、Or 运算符 • 4、Xor 运算符 用于对两个 Boolean 表达式执行逻辑析取,或对两个数值执行按位析取。 result = expression1 Or expression2 对两个 Boolean 表达式执行逻辑异或运算,或对两个数值表达式执行按位异或运算。其格式是: result = expression1 Xor expression2

  21. 5、AndAlso 运算符 对两个表达式执行简化逻辑合取。其使用格式是: result = expression1 AndAlso expression2 6、OrElse 运算符 用于对两个表达式执行短路逻辑析取。其使用格式是: result = expression1 OrElse expression2

  22. 2.3.3.6 其他运算符 • 1、AddressOf 运算符 创建引用特定过程的过程委托实例。其格式是: AddressOf procedurename procedurename 指定将被刚创建的过程委托引用的过程。 2、GetType 运算符 返回指定类型的类型对象。类型对象可以用于检索有关类型的各种信息,如类型的属性、方法和事件。其使用格式是 GetType(typename) Typename为类对象内的类型名称。 GetType 操作符返回指定 typename 的类型对象。

  23. 2.3.3.7 运算符优先级 • 算术和连接运算符的优先级顺序将在下面描述,它们的优先级都比比较和逻辑运算符高。比较运算符比逻辑运算符的优先级高,但比算术和连接运算符的优先级低。所有比较运算符的优先级都相同,就是说,将按照它们出现的顺序从左到右对其进行计算。 • 算术、连接和逻辑/按位运算符按照下列优先级顺序进行计算 1、算术/连接运算符 求幂 (^)→求反 (–) →乘法和除法 (*, /)→整数除法 (\)→取模 (Mod) →加法和减法 (+, –),→字符串连接 (+)→字符串连接 (&) 2、比较运算符 相等 (=)、不相等 (<>)、小于,大于 (<,>)、大于或等于 (>=)、小于或等于 (<=)、Like、Is、TypeOf...Is,所有比较运算符的优先级都相同,按照它们出现的顺序从左到右对其进行计算。

  24. 3、逻辑/按位运算符 非 (Not) →逻辑合取 (And, AndAlso) →逻辑析取 (Or, OrElse, Xor) 4、注意: • 字符串连接运算符 (&) 不是算术运算符,但是就其优先级而言,它在所有算术运算符之后,而在所有比较运算符之前。 • Is 运算符是一个对象引用比较运算符。它不比较对象或它们的值;它只是进行检查以确定两个对象引用是否指的是同一个对象。

  25. 2.4 过程、函数与数组 • 过程具有以下优点: • 过程具有可重用性。一个结构规范、功能合理的过程可以在多处使用 • 可提高代码的可读性。 • 可增强代码的可维护性 • 在Visual Basic.NET中有以下几种过程: Sub过程:执行某些操作但没有返回值; Function函数:执行某些操作并有返回值; Property过程:返回或设置对象/模块的属性值;

  26. 2.4.1 Sub过程 • 1、格式 • 声明定义 Sub过程的名称、参数和代码。其格式是: [ <attrlist> ] [{ Overloads | Overrides | Overridable | NotOverridable | MustOverride | Shadows | Shared }] [{ Public | Protected | Friend | Protected Friend | Private }] Sub name [(arglist)] [ Implements interface.definedname ] [ statements ] [ Exit Sub ] [ statements ] End Sub

  27. attrlist:可选。应用于此过程的属性列表。多个属性以逗号分隔。 Shadows:可选。指示该 Sub 过程隐藏基类中的同名编程元素或重载元素集。 Shared:可选。指示该 Sub 过程是共享的过程。 Public:可选。用 Public 关键字声明的过程具有公共访问权限。 Protected:可选。用 Protected 关键字声明的过程具有受保护的访问权限。 Friend:可选。用 Friend 关键字声明的过程具有友元访问权限。 Protected Friend:可选。用 Protected Friend 关键字声明的过程同时具有受保护的访问权限和友元访问权限。 Private:可选。用 Private 关键字声明的过程具有私有访问权限。 Name:必选。Sub 过程的名称。必须是有效的 Visual Basic 标识符。 Arglist:可选。表示在调用 Sub 过程时要传递给该过程的参数的变量或表达式的列表。 Implements:可选。指示此 Sub 过程实现接口定义的 Sub 过程。 Interface:如果提供了 Implements 则需要。 Definedname:如果提供了 Implements 则需要。 Statements:可选。要在 Sub 过程中执行的语句块。

  28. 例:本实例使用 Sub 语句定义形成 Sub 过程体的名称、参数和代码。 Sub SubComputeArea(ByVal Length As Double, ByVal Width As Double) Dim Area As Double If Length = 0 Or Width = 0 Then Exit Sub End If Area = Length * Width Debug.WriteLine(Area) End Sub

  29. 3、调用Sub过程 • 其格式是: [ Call ] ProcedureName[(ArgumentList)] • 功能:将控制传输到 Sub 过程、Function 过程或动态链接库 (DLL) 过程。 • 其中:ProcedureName 是要调用的过程名;ArgumentList是变量和表达式列表,表示当调用过程时传递给该过程的参数。多个参数以逗号分隔。如果包括 ArgumentList,则必须将它放在括号内。 • 2.4.2 局部变量和全局变量 • 2.4.3 静态变量 • 2.4.4 传值调用与传址调用

  30. 2.4.5 传递数组给过程 • 1、传递数组 • 2、参数组参数 • 2.4.6 函数 • 1、Function函数的格式 Function name[(arglist)] [ As type ] [ Implements interface.definedname ] [ statements ] [ Exit Function ] [ statements ] Name=Express|Return Express|Exit Function End Function • 2、各部分说明

  31. 函数以开始Function,以End Function结束 name:必选。Function 过程名。必须是有效的 Visual Basic 标识符。命名方法同变量名。 Arglist:可选。表示调用 Function 过程时要传递给该过程的参数的变量或表达式列表。多个参数以逗号分隔。如果提供参数列表,则必须将它括在括号内。 Type:除非 Option Strict 是 On,否则是可选项。Function 过程返回值的数据类型。可以是 Boolean、Byte、Char、Date、Decimal、Double、Integer、Long、Object、Short、Single 或 String;或者是枚举、结构、类或接口的名称。 Implements:可选。表示此 Function 过程实现由接口定义的 Function 过程。 Interface:如果提供了 Implements 则需要。接口由包含此 Function 过程的类或结构实现。类或结构必须在紧跟于 Class 或 Structure 语句后的 Implements 语句中指定 interface。 Definedname: 如果提供了 Implements 则需要。定义 Function 过程的 interface 中的名称。此 Function 过程的名称(在 name 中)不必与 definedname 相同。 Statements:可选。Function 过程中要执行的语句块。

  32. 2.4.7 递归调用 递归是一项非常重要的编程技巧,它使函数调用其本身。下面我们以求一个数的阶乘为例来说明递归的使用。 • 例: <Script Language="VB" Runat="Server"> Sub Page_Load(sender As Object, e As EventArgs) Dim factorial, I As Integer factorial = 1 For I = 1 To 5 factorial = factorial * I Next Response.Write("5! = " & factorial ) End Sub </Script> 程序运行结果如图2-9所示。

  33. 2.4.8 数组 • 1、声明数组 声明数组的语句是: • Dim ArrayName (数组元素上界,…) As Type • ArrayName:指需要声明的数组名。 • 数组元素上界:决定数组元素多少 • 数组的维数:数组元素上界的个数决定数组的维数,如果数组元素上界的个数=1时是一维数组,允许多维数组,最大维数是32。 • 数组的数据类型:数组的数据类型通过AS TYPE语句来确定,除被声明为Object类型的数组外,数组中所有元素的数据类型必须完全相同。 • 例: Dim A(4) As Integer '声明下标从0到4的数组(共5个元素) Dim A() As Integer={3,4,6} '声明下标从0到2的数组并设置其初始值

  34. 2、静态数组和动态数组 • 静态数组是固定大小的数组,维数和大小都不得改变,如上面定义的数组就是静态数组。 • 动态数组是在运行时大小可以改变的数组 3、多维数组 多维数组中最常用的是二维数组。例如屏幕上的座标X、Y,一个班学生的成绩等,学生成绩表我们可以看成是由行列组成的二维数组。

  35. 4、与数组相关的语句及函数

  36. 5、数组应用 • (1)折半查找法 • (2)冒泡排序法

  37. 2.5 程序的结构 • 判断结构:包括If…Then、Select Csae和Try…Catch…Finally • 循环结构:包括While、For…Next、For Each…Next、Do…Loop等结构。 • 2.5.1 选择(分支)结构 • 1、If …then语句 • 2、Select...Case 语句

  38. 2.5.2 循环结构 • 1、计数循环For…Next • 将一组语句重复执行指定的次数。其格式是: For counter = start To end [ Step stepValue ] [ statements ] [ Exit For ] [ statements ] Next [ counter ]

  39. 2、Do...Loop 语句 • Do...Loop 语句的基本格式是: • 格式1: Do { While | Until } condition [ statements ] [ Exit Do ] [ statements ] Loop • 格式2: Do [ statements ] [ Exit Do ] [ statements ] Loop { While | Until } condition 功能:当某个 Boolean 条件为 True 时或在该条件变为 True 之前,重复某个语句块。

  40. 3、While...End While语句 • While...End While 语句的格式是: While condition [ statements ] End While • 功能:只要给定condition(条件)为 True 就执行一系列语句[ statements ]。 • 4、For Each...Next语句 • For Each...Next 语句的格式是: For Each element In group [ statements ] [ Exit For ] [ statements ] Next [ element ] • 功能:针对数组或集合中的每个元素重复执行一组语句。

  41. 2.5.3 导常处理语句 • 1、结构化异常处理语句:Try...Catch...Finally 语句 • 用于处理给定代码段中可能出现的某些或所有错误,而同时代码仍保持运行。其格式是: Try tryStatements Catch exception [ As type ] [ When expression ] catchStatements ] [ Exit Try ] ... Finally [ finallyStatements ] ] End Try

  42. 2、非结构化异常处理语句:On Error 语句 • 其格式是: On Error { GoTo [ line | 0 | -1 ] | Resume Next } 2.5.4 Exit 语句 • 退出过程或块,并且立即将控制传送到过程调用或块定义后面的语句。 其格式是: • Exit { Do | For | Function | Property | Select | Sub | Try | While }

  43. 小结 • 本章以VB.NET为基础,主要讲述ASP.NET的语法规则、数据类型的命名、系统命名空间;常量、变量的概念、算术运算符、比较运算符、串联运算符、逻辑/按位运算符和其它其他运算符和表达式的使用;过程、函数与数组的定义及结构化异常处理语句使用,介绍了程序的三种基本结构及结构化异常处理语句的基本格式及使用。使读者在没有VB.NET基础的情况下能够快速掌握VB.NET语法基础。

More Related