版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VB.NET程序设计,任务二 应用选择结构完善系统,学习目标,1、了解VB.NET常用的数据类型 2、了解运算符和表达式 3、掌握变量声明、变量作用域 4、掌握选择结构的使用 5、掌握MessageBox类的常用方法 6、了解常见错误类型,掌握错误处理的方法,VB.NET常用数据类型,变量与常量变量,变量的声明 语法格式:Dim 变量名 As 类型 = 初始值 例如, Dim a As Integer , b As Long , c As Single , d As Double 注意:定义好的变量要在程序中使用,否则会有警告(未使用的变量)。,思考:怎样同时声明多个同一类型变量?,变量与常量
2、变量,变量的命名 由字母、汉字、数字或下划线组成,第一个字符必须是字母或汉字或下划线。 如果名称以下划线开头,必须包含至少一个字母或数字或汉字。 长度不超过1023个字符。 不要与VB.NET中的关键字同名。 VB.NET对变量中字母的大小写不加以区分。 最好利用“匈牙利命名”规则给变量起名,即变量名由“前缀+后缀”组成。例如:IntCountor,DblSum,有关变量命名的题目,1、下面哪个符号不能作为VB.NET的变量名? A、ABCD B、G888 C、123dog D、xpq,2、下列符号哪一个是VB.NET中的合法变量名? A、B3 B、3B C、If D、AB9,变量与常量变量,
3、静态变量的声明 自动变量:用Dim声明,变量值只在过程执行期间才存在 静态变量:用Static声明,变量值在程序运行期间一直存在 例 统计单击窗体的次数,变量与常量变量,变量的作用域(有效作用范围) 块级变量:用Dim声明,在特定的代码块中声明。如条件语句块。 局部变量:在一个过程内部声明的变量,它只在本过程内有效。用Dim或Static来声明。 窗体和模块级变量: 在窗体和模块的声明部分定义的变量,它对一个窗体或模块的不同过程都有效。用 Dim或Private来声明。 全局变量: 在模块文件中用Public关键字声明的变量。它可以被应用程序中的所有模块引用。,变量与常量常量,常量:就是其值固
4、定不变的量 常量的命名和声明 命名:遵循变量名命名的规则 声明格式: Const 常量名 As 类型 = 表达式 例: Const conMax As Integer = 9 声明Integer型常量 Const conDate= #10/5/2002# 声明Date型常量 Const CodeName = “ASCII” 声明String型常量 Const pi As Double = 3.14159265358979 声明Double型常量,运算符,1. 算术运算符,运算符,2. 字符串运算符 运算符:& 和 + 例: VB = “Visual ” + “Basic” 连接为字符串“Vis
5、ual Basic” 第 & Str(N) & 条记录 Str为数值型转字符型函数。若N为1,标签上显示“第1条记录” 说明: 使用+号,要求连接的两个表达式均为字符串型 使用&号,连接的两个表达式可以为任何类型,但结果为字符串型,如 “当前日期” & #10/8/2002#,运算符,3. 关系运算符,Is:判定两个Object类型的变量是否引用同一个对象 Like:判定左边的字符串是否与右边的字符串匹配,运算符,4. 逻辑运算符 常用: Not、And 、 Or Not:表达式数为True时,结果为False;反之亦然。 例如,Not (4 5),结果为True And:两个表达式均为Tru
6、e时,结果为True 例如,(4 5) And (8 7),结果为False Or:两个表达式均为False时,结果为False 例如,(4 5) Or (8 7),结果为True,运算符,4. 逻辑运算符,表达式,表达式:用运算符和圆括号将常量、变量、函数和常数连接起来组成的有意义的式子。 如,数值表达式 Cos (180 * Pi / 180 ) * 100 逻辑表达式 ( N = 0 ) And ( N Mod 2 0 ) 运算优先顺序(从高到低): 函数算术运算(乘方取负乘/除整除求余加/减) 字符串运算符关系运算符逻辑运算符(NotAndOr) 用括号可以改变运算顺序 乘方和负号相邻
7、时,取负优先。 例如:2 -2 的结果是0.25,相当于2(-2),MessageBox类,MessageBox类的常用方法: Show方法:利用该方法给用户一些提示信息。 例: MessageBox.Show(“请确认密码是否正确”),选择结构,选择结构:当设定条件成立时执行某些语句,条件不成立时则跳过这些语句或执行其它的语句。 选择结构中要使用选择语句,有两路分支和多路分支两种情况 ,对应的选择语句有If语句(两路出口)和Select Case语句(多路出口)。,选择结构If条件语句,1、If语句结构 If Then End If If Then Else End If,选择结构If条件语
8、句,2、If语句嵌套 If语句嵌套使用可形成多分支的条件语句结构 If Then ElseIf Then Else End If,选择结构If条件语句举例,例1:用户登录界面的代码 用于返回登陆结果 Public bResult As Boolean = False 登陆用户的ID Public UserId As String = 登陆的用户名 Public UserName As String = 登陆的用户密码 Private UserPwd As String = Private Sub btnSubmit_Click(ByVal sender As System.Object, By
9、Val e As System.EventArgs) Handles btnSubmit.Click 判断用户输入密码的合法性 If UserPwd = “123” And UserName = “123 Then 合法用户 bResult = True Me.Close() Else 密码错误 bResult = False MessageBox.Show(请确认你的用户名或密码是否正确) End If End Sub Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
10、Handles btnClear.Click 关闭登陆对话框 Me.Close() 关闭整个程序 Application.Exit() End Sub,选择结构If条件语句举例,例2:将分数按等级划分 (在“控制台应用程序”中录入如下代码) Dim sYourScore As String Dim iScore As Integer System.Console.WriteLine(请输入你的考试分数(0 - 100之间):) sYourScore = System.Console.ReadLine() iScore = Integer.Parse(sYourScore) If (iScore
11、 100) Then System.Console.WriteLine(不可能的分数!) ElseIf (iScore = 100) Then System.Console.WriteLine(你真不可思议,太棒了!) ElseIf (iScore 85) Then System.Console.WriteLine(你真优秀!) ElseIf (iScore 60) Then System.Console.WriteLine(不错不错!) Else System.Console.WriteLine(下次加油哦!) End If System.Console.ReadLine(),选择结构Sel
12、ect Case选择语句,语法格式: Select Case Case Case Case Else End Select 功能:根据测试表达式的值,决定程序的流向。 值的类型是数值型、字符串型、日期型等,一旦与某个Case后的值相等,则执行这个Case中的,完成后执行End Select后的语句。 如果所有的Case后的都不与项匹配,则执行Case Else后的。,选择结构Select Case选择语句,例3:将例2改写为Select Case结构。 Dim sYourScore As String Dim iScore As Integer System.Console.WriteLine
13、(请输入你的考试分数(0 - 100之间):) sYourScore = System.Console.ReadLine() iScore = Integer.Parse(sYourScore) Select Case iScore Case 100 System.Console.WriteLine(你真不可思议,太棒了!) Case 85 To 99 System.Console.WriteLine(你真优秀!) Case 60 To 84 System.Console.WriteLine(不错不错!) Case 0 To 59 System.Console.WriteLine(下次加油哦!
14、) Case Else System.Console.WriteLine(不可能的分数!) End Select System.Console.ReadLine(),常见错误类型,语法错误 运行错误 逻辑错误,错误处理,使用TryEnd Try结构来处理“运行错误” Try 可能产生运行错误的语句 Catch 一旦发生运行错误就执行的语句 Finally 不管错误是否发生都会被执行的语句 End Try,错误处理,处理磁盘驱动器错误 Try PictureBox1.Image=Image.Fromfile(“a:fileopen.bmp”) Catch MessageBox.Show(“Ple
15、ase insert disk in the drive A!”) End Try,错误处理,使用Finally子句完成清除任务 Try PictureBox1.Image=Image.Fromfile(“a:fileopen.bmp”) Catch MessageBox.Show(“Please insert disk in the drive A!”) Finally MessageBox.Show(“Error handle complete”) End Try 注意:无论Try语句是否产生运行错误,都可能需要在错误处理程序结束时实现某项任务,如更新变量、使用消息框显示结果或禁用窗体上不
16、需要的对象,此时就需要使用Finally子句。,错误处理,使用Err对象获取较详细的错误信息 Err对象: 每次产生运行错误时,该对象都会被赋予详细的错误处理信息。 常用属性: Err.Number:提供运行错误的编号 Err.Description:描述运行错误的简短信息,错误处理,检测多个运行错误 Try PictureBox1.Image=Image.Fromfile(“a:fileopen.bmp”) Catch When Err.Number = 53 文件不存在错误 MessageBox.Show(“Check pathname and disk drive!”) Catch Wh
17、en Err.Number = 7 内存不足错误 MessageBox.Show(“Is this really a bitmap?”) Catch When Err.Number = 7 内存不足错误 MessageBox.Show(Err.Description) End Try,错误处理,指定重试次数 指多次尝试一种操作,如果问题仍得不到解决则禁用该操作。 例:先声明Retries变量为窗体级变量,然后在Button1的单击事件过程中写如下代码: Try PictureBox1.Image=Image.Fromfile(“a:fileopen.bmp”) Catch Retries +=
18、1 If Retries =2 Then MessageBox.Show(“please insert the disk in drive A!”) Else MessageBox.Show(“文件载入3次失败,请退出!”) Button1.Enabled = False End If End Try,错误处理,抛出错误 调试程序或指定重试次数时使用。 方法1:Err.Raise(7) 产生一个内存不足错误 方法2:Throw New Exception 抛出一个异常,Catch是用来处理错误的,就是发生了错误时,会执行Catch部分,注意:是“发生了错误时”。 但是,在没有发生错误时,你自己想引发错误的话怎么办呢?可以使用Throw语句来自定义一个错误(异常)。,Try MsgBox(将引发一内存错误) Err.Raise(7) Catch When Err.Number = 7 MsgBox(内存错误) End Try,Try MsgBox(将引发一错误) Throw New Exception(自己抛出一个异常) Catch ex As Exception MsgBox(ex.Message) End Try,课堂实训,用户登录界面代码: 用于返
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 在超市的实习报告15篇
- 工业机器人运维比赛复习试题有答案
- 高考数学复习解答题提高第一轮专题复习专题06数列求和(裂项相消法)(典型题型归类训练)(学生版+解析)
- 语文统编版(2024)一年级上册语文园地7 教案
- 广东高考英语语法填空技巧与方法
- 高中英语语法填空
- 高中英语语法点睛篇
- 第2章 信息技术课程体系的比较课件
- 学校体育的功能与目的课件
- 玩球要小心课件
- 用别人名字开公司协议书
- 新会陈皮简介-讲解课件
- 地理气温计算公式
- 沙石场环保应急预案
- 泌尿系统疾病-泌尿系统肿瘤(外科学课件)
- 卫生院传染病报告管理自查及整改措施范文
- 中考文学作品阅读复习之内容概括公开课一等奖市优质课赛课获奖课件
- 2022-2023学年高新疆乌鲁木齐市四中高一上学期期中语文试题(解析版)
- 美丽中国美丽江苏
- 加油站安全隐患照片
- 水利渠道预制板铺砌施工工法
评论
0/150
提交评论