1 / 41

复习回顾:

复习回顾:. IDE 的组成部分 定制自己的 IDE 环境 Visual Basic.NET 代码编辑器的特点 简单 Visual Basic.NET 程序的调试. 第三章: Visual Basic.NET 的语法基础. 本章知识点:   语法基础   结构化控制语句   过程与函数. 3-1  语法基础. 本节包含以下六个内容:. 3-1-1 数据类型 3-1-2 数据类型转换 3-1-3 变量 3-1-4 常量 3-1-5 表达式 3-1-6 数组. 3-1-1 数据类型. 1、整型(9种).

casey
Download Presentation

复习回顾:

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. 复习回顾: • IDE的组成部分 • 定制自己的 IDE环境 • Visual Basic.NET代码编辑器的特点 • 简单Visual Basic.NET程序的调试

  2. 第三章: Visual Basic.NET的语法基础 • 本章知识点: •   语法基础 •   结构化控制语句 •   过程与函数

  3. 3-1  语法基础 本节包含以下六个内容: • 3-1-1 数据类型 • 3-1-2 数据类型转换 • 3-1-3 变量 • 3-1-4 常量 • 3-1-5 表达式 • 3-1-6 数组

  4. 3-1-1 数据类型 1、整型(9种)

  5. 3-1-1 数据类型 2、实型(3种) 1) 单精度实型(single): 4字节  2)双精度实型(double): 8字节  3)十进制型(decimal):16字节 3、字符型(char):2字节 4、字符串型(string) 5、布尔型(boolean):1字节 6、字节型(byte):1字节的无符号整数 7、日期型(date):8字节   从公元元年的 0:00:00 到9999 年12月31日的 23:59:59 8、对象型(object) 9、枚举型(enum)-P36 10、结构型(structure)

  6.    例如: 对于一个学生的“学号”、“姓名”、“性别”、“年龄”、“入学成绩”等数据,为了处理数据的方便,常常需要把这些数据定义成一个新的结构类型。 Structure Student Xh As String Xm As String Xb As String Nl As Integer Score As Single End Structure

  7. 课堂练习 为下列数据选择合适的数据类型 • 地址 • 贷款数量 • 电话号码 • 身份证号码 • 学号 • 出生日期

  8. 3-1-2  数据类型转换 • 显式转换   通过转换函数来进行的类型转换。 • 隐式转换   在赋值语句中,根据需要自动进行的转换。

  9. 转换函数 VB.NET提供了几种转换函数,可用来将值转换成特定数据类型。P38 转换为 String 型值"1234" Integer 型值1234 CStr Integer 型值568 Double 型值567.9894 CInt Date 型值#2/12/1992# String 型值"February 12, 1992" CDate

  10. 隐式数据转换 • 特点:    数据类型自动转换,代码中不需要特定的转换函数 • 隐式数据转换示例: Dim sequence As short Dim number As Integer ' ... sequence = 1234 number = sequence ' sequence隐性转换为Integer • 隐式数据转换的缺点: • 可能产生不可预料的结果 • 代码运行速度慢 • 说明:    Option Strict On 不允许任何隐式的由高到低的类型转换

  11. 3-1-3  变量 定义及命名变量 声明变量 变量的赋值 变量的作用域与生存期 内 容

  12. 变量的定义及命名 • 定义:变量是在程序设计中其值允许改变的量。 • 变量命名规则: • 每个变量名都必须以字母、汉字或下划线“_”开头 • 不能使用空格或标点符号 • 有效长度不能超过255个字符 • 说明: • VB中不区分变量名的大小写. • 不能使用关键字作为变量名,如 Integer 或 Date • 在同一作用域中,不能有同名变量。 • 为了增加程序的可读性,可在变量名前加一个缩写的前缀来表明该变量的数据类型。

  13. 常用的变量前缀如下表:

  14. 课堂练习 判断下列哪些为合法变量 • strAbc • Inta • dblx • Sngb • IntSum • Str姓名 • 2X • Integer • ab,c • v[1]

  15. 声明变量 • 语法 • Dim 变量名 As 数据类型[=初始值] 示例:  Dim intnumber As Integer=5  Dim sngsquareAs Single  Dim struser As String 说明:   可以使用Option Explicit选项来设置是否可对变量进行隐式的声明。

  16. 在声明变量的同时给变量赋值 Dim birthday As Date = #3/9/1974# • 在声明变量之后单独用赋值语句给变量赋值 Dim birthday As Date birthday = #3/9/1974# 变量的赋值

  17. 过程 模块, 类, 或结构 Private、dim、static Public 变量的作用域与生存期 作用域: 变量起作用的范围 生存期:变量合法且可用的时间段 影响作用域的因素 1.声明的位置 2.声明的关键字

  18. 块级别作用域的示例: If x < > 0 Then Dim intNumber As Integer intNumber = x + 1 End If 过程级作用域的示例: Private Sub Button1_Click( ……) Handles Button1.Click Dim strmyVariable As String ' Insert code to add functionality End Sub 声明局部变量 声明位置:在块或过程内声明 格式: Dim  局部变量名  as 数据类型 作用域:    仅在声明它的块内或过程内有效。 

  19. 关键字 作用域 Private 模块级别 Dim 模块级别 示例: Private strmyModuleMessage As String Dim strmyProjectMessage As String 声明模块级变量 • 声明位置:在模块或窗体的Declarations声明部分中声明 • 关键字及作用域:

  20. 关键字 作用域 Public 解决方案级别(全局) 示例: Public strmySolutionMessage As String 那么,在声明部分中的以下语句: Private strmyModuleMessage As String作用域? 声明全局变量 • 声明位置:在模块或窗体的Declarations声明部分中声明 • 关键字及作用域:

  21. 示例: Private Sub Button1_Click(…… ) Handles Button1.Click Static intitems As Integer intitems += 1 MessageBox (“现在合计为 " & intitems) End Sub 声明静态变量 • 声明位置:在块或过程中声明 • 格式: Static   静态变量名  As  数据类型 • 作用域: 仅在声明它的块内或过程内有效 • 特点:  具有继承性

  22. 3-1-4  常量 • 常量的分类:  系统常量与用户自定义常量 • 自定义常量的声明 声明常量的语法:Const  变量名  As  数据类型=取值 例如: Const pi As Single=3.1415926 使用常量的优点? • 简化代码编写 • 易于查错和改错

  23. 要使变量仅在函数或过程内有效,在何位置,用何关键字?要使变量仅在函数或过程内有效,在何位置,用何关键字? 要使变量在模块内有效,在何位置,用何关键字? 使变量在所有模块及窗体中有效,在何位置,用何关键字? 练习1 设置变量的访问级别

  24. Dim 12Count As Integer Dim Number For Double Const Son's Birthday As Day Dim Error.Message As Text Dim CurrentExpenses With Decimal 练习2 找错误并说明原因

  25. 小结: • 数据类型的种类 • 各种数据类型的转换 • 变量的命名、定义及赋值 • 变量的作用域 • 常量的定义及使用

  26. 复习回顾: • 数据类型的种类 • 各种数据类型的转换 • 变量的命名、定义及赋值 • 变量的作用域 • 常量的定义及使用

  27. 要使变量仅在函数或过程内有效,在何位置,用何关键字?要使变量仅在函数或过程内有效,在何位置,用何关键字? 要使变量在模块内有效,在何位置,用何关键字? 使变量在所有模块及窗体中有效,在何位置,用何关键字? 习题1解答 设置变量的访问级别

  28. Dim 12Count As Integer Dim Number For Double Const Son's Birthday As Day Dim Error.Message As Text Dim CurrentExpenses With Decimal 习题2解答 找错误并说明原因

  29. 3-1-5 运算符和表达式 一、赋值运算符与赋值表达式 赋值运算符:“=” 功能: 把运算符右边的内容赋给运算符左边的变量或属性。 格式:变量名=变量值 如:Value=10    ‘ 把数值10赋给变量Value   Name1=label1.text  ‘把标签的text属性给变量Name1 注意: 1.等号左边必须是变量或对象的属性,不能是数值、常量和表达式。 如:10=pi : 3+x=40 2.等号两边的数据类型应该匹配,不匹配时要进行相应的类型转换。

  30. =? 练习:5+10 mod 10 \ 9 / 3 +2 ^2 二.算术运算符与算术表达式 Const a as integer=3 a^2 -a a*a*a 10/a 10\a 10 mod a 10+a a-10 按优先级排列的算术运算符 乘方 ^ 负号 - 乘 * 除 / 整除 \ 取余数 mod 加 + 减 - 还可以用括号() 9 -3 27 3.333333 3 1 13 -7

  31. 三. 字符串运算符与字符串表达式 运算符: +、& 两者的区别为:  +:前后必须都是字符串类型的数据,不可为数值数据  &:允许连接数值和字符串,运算结果是字符串 举例: “abcdef”+12345   正确? “abcdef”&12345   正确?

  32. 四. 关系运算符、逻辑运算符及其表达式 关系运算符: 等于 = 大于 > 小于 < 大于等于 >= 小于等于 <= 不等于 <> 对象比较 is 模式匹配 like(P55) 逻辑运算符: Not 非 (单目) And 与 Or 或 Xor 异或 AndAlso 短路与 OrElse 短路或 大于等于、小于等于不可以用≥、≤ 各运算符的优先级顺序为: 算术运算符->字符串运算符->关系运算符->逻辑运算符 ->赋值运算符

  33. 课堂练习 判断下列表达式的执行过程及值 • “cat123khg” like “b?t *” • “am5b” like “a[l-p]#[!c-e]” • X=23>12 and 12>4 • 12>45 and myfunction(4) • 12>45 andalso myfunction(4) • 45>12 or myfunction(4) • 45>12 orelse myfunction(4)

  34. 2. 基本概念 • 定义:数组是相同类型数据元素的集合 • 特点: • 数组中所有元素是同一数据类型 • 数组在内存中占一片连续的存储单元 • 每个元素都可以通过数组名带下标来访问 3-1-6 数组 1. 引例 求100个学生的平均成绩及超过平均成绩的人数。

  35. 声明一维数组 格式:   dim|private|public数组名(数组上界) [As 类型]={初始值} 说明: (1)访问权限有三种情况,决定了数组的作用域。 (2)数组名为用户定义标识符,命名原则同变量。 (3)数组上界必须为常数,不可以为表达式或变量。 (4)在VB.NET中,数组的下界总是从0开始,所以一维数组的元素个数为:   数组上界+1。 (5)若在定义时初始化数组,则可省略上界,此时上界的默认值为:元素个数-1 (6) 如果省略类型,则为object型 例: Dim A(10) As Integer 声明了A是一个具有11个元素的整型一维数组 ,下标的范围是0~10。

  36. 使用一维数组 • 数组引用格式:      数组名(下标值) 例: Public  counters()  As Integer ={1, 2, 3, 4, 5, 6, 7} 默认的上界为何?    counters(3)=? 数组counters中的第5个元素下标为?

  37. 多维数组的定义及使用 定义格式:   dim|private|public数组名(一维上界,二维上界,…) [As 类型]={初始值} 说明: • 多维数组元素个数 = 所有维数大小的乘积 • 示例: Public DblThreeDimensions(2,3,4) As Double • 使用格式:     数组名(一维下标值,二维下标值,…) • 例: ThreeDimensions(1,2,3) 的含义为何?

  38. 示例: Dim myArray(,) '声明数组 …… ReDim myArray(3, 5) '改变数组的大小 动态数组 定义格式: dim 数组名()  as  类型  … ReDim  已声明的数组名(新大小) 说明: (1)Redim 必须放在过程中,不能放在模块的声明部分。因为Redim 语句是可执行语句。 (2)在过程中可以多次使用ReDim来改变数组的大小,但不可改变数组的维数。

  39. 小结: • 运算符与表达式的分类及正确使用 • 一维数组的定义及使用 • 多维数组的定义及使用 • 动态数组的使用

  40. 练习: • 1、计算圆的周长与面积:    设计一个应用程序,根据用户输入的圆半径,计算并输出圆的周长和面积。   提示:使用变量表示半径、周长和面积,用常量来表示PI。 • 2、计算雇员的年收入:    编写应用程序来计算雇员的年收入。年收入等于雇员12个月的月收入和奖金的总和。奖金等于雇员年收入的1/4.

  41. 总结: • 变量的数据类型 • 数据类型的转换 • 变量的定义、命名与赋值 • 变量的作用域 • 常量的分类及定义 • 运算符与表达式的正确使用 • 数组的定义及使用

More Related