计算机软及应用PPT课件.ppt_第1页
计算机软及应用PPT课件.ppt_第2页
计算机软及应用PPT课件.ppt_第3页
计算机软及应用PPT课件.ppt_第4页
计算机软及应用PPT课件.ppt_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章VisualBasic2005语言基础 2 1VB2005数据类型2 2VB2005的变量2 3VB2005的常量2 4运算符与表达式2 5常用的内部函数2 6程序语句 1 VB2005是一种面向对象程序设计语言 它提供了功能强大的可视化控件 可以使应用程序的界面非常漂亮 在利用窗体和控件为应用程序建立界面的同时还需要编写程序代码 代码对事件做出响应以执行预期的任务 数据是计算机程序代码处理的对象 是程序的基础 也是运算产生的结果 所以应该首先认识VB2005能处理哪些数据 掌握各种形式数据的表示方法 本章主要介绍VB2005的数据类型 变量和常量 各种表达式和常用系统函数 以及基本语句的格式 前言 2 2 1数据类型 在现实生活中存在各种各样的数据 数字可以进行比较大小 可以进行加减乘除 字符不能进行加减乘除 只是表示特殊含义的信息 在计算机中要描述这些数据 就必须有能够表示不同类型数据的数据类型 VB2005定义了许多种数据类型 每种数据类型对应一个类型名 并且每种数据类型仅限于存放某种特定的信息 每种类型的数据都有一个上限和下限 本节主要介绍VB2005的数据类型 3 2 1 1通用类型系统 在 NET中要实现平稳的跨语言集成 所有的语言必须使用一个通用类型系统 通用类型系统 CommonTypeSystem CTS 定义了公共语言运行时环境所支持的数据类型 VB2005使用的数据与CTS中的数据类型直接对应 而且某些类型的数据可以直接相互转换 不同的语言使用不同的关键字来展示这些类型 通用类型系统定义了如何在公共语言运行环境 CLR 中声明 使用和管理数据类型 4 CTS执行以下功能 建立一个支持跨语言集成 类型安全和高性能代码执行的框架 提供一个支持多种编程语言的面向对象的模型 定义各语言必须遵守的规则 有助于确保用不同语言编写的对象能够交互作用 CTS支持两种类型 值类型和引用类型 值类型直接包含数据 值类型包括 所有的数值数据类型 Boolean Char Date 所有结构 枚举类型 引用类型数据包含指向对象实例的引用或指针 引用类型包括 String 所有数组和类 5 2 1 2VB2005的基本数据类型 VB2005的基本数据类型通常可以分为以下几种 1 数值数据类型2 字符数据类型3 布尔数据类型4 日期数据类型5 对象数据类型 6 1 数值数据类型 1 整数类型整数类型分为有符号和无符号整型两种 有符号的整数类型包括 有符号字节型SByte 1字节 短整型Short 2字节 整型Integer 4字节 长整型Long 8字节 无符号的整数类型包括 无符号字节型Byte 1字节 无符号短整型UShort 2字节 无符号整型UInteger 4字节 无符号长整型ULong 8字节 例如 DimNum1AsInteger 变量Num1被声明为Integer数据类型Num1 256 7 2 非整数类型非整数类型包括 定点数型Decimal 16字节 单精度浮点数型Single 4字节 和双精度浮点数型Double 8字节 它们都是有符号类型 数值数据类型的默认值是数值0 例如 DimdAsDecimal 变量d被声明为Decimal数据类型d 2147483 48DimsAsSingle 变量s被声明为Single数据类型s 342143576 8 变量s输出显示时为3 421436E 08 8 2 字符数据类型字符数据类型用以处理可显示和打印的字符 字符数据都必须用双引号 括起来 字符数据都是无符号类型 1 Char类型在只需保存单个字符时 使用Char数据类型 Char类型数据的默认值是码位为0的字符 例如 DimynAsChar 变量yn被声明为Char数据类型yn y 把字符 y 赋给Char型数据 9 2 String类型可使用String数据类型存储多个字符 String的默认值为空字符 例如 变量str1 str2被声明为String数据类型Dimstr1 str2AsStringstr1 hello 把字符串 hello 赋给变量str1str2 把空字符串 赋给变量str2 10 VB2005在定义数据类型时 还提供了值类型标识符 这些标识符可在声明中指定变量或常量的数据类型 还可以在表达式中使用 是值类型的数据类型名称的简写形式 表2 1 11 3 布尔数据类型布尔数据类型用Boolean关键字定义 Boolean型数据只有两个值 True 真 和False 假 经常被用来表示逻辑判断的结果 布尔数据类型的默认值是False False可用0表示 True可用0以外的任何数值表示 例如 DimbAsBoolean 变量b被声明为Boolean数据类型b True 变量b被赋值True 真 12 4 日期数据类型日期数据类型只有日期型Date 8字节 一种 Date型数据表示日期时间 使用Date型数据包含日期值 时间值 或日期和时间值 Date类型数据在书写时 必须将文本括在数字符号 内 必须以M d yyyy格式指定日期值 指定时间值默认为12小时制 日期数据类型的默认值是公元1年1月1日的午夜 即0 00 00 例如 Dimd1 d2AsDate 变量d1 d2被声明为Date数据类型d1 07 31 200610 50 40PM 变量d1被赋值日期时间d2 1 15 30PM 变量d2被赋值时间 13 5 对象数据类型对象 Object 数据类型 4字节 指向应用程序或其他应用程序中的一个对象 Object类型是一种万能数据类型 因为任何东西都可以是 NET框架中的一个对象 当其中包含值类型时 Object类型数据被作为值类型处理 当其中包含引用类型时 Object类型数据被作为引用类型处理 对象数据类型的默认值是空 即没有任何对象 例如 Dimx yAsObject 变量x和y被声明为Object数据类型Dimd 变量d没有指明数据类型 默认为Object数据类型x 100 变量x为Integer数据类型y world 变量y为String数据类型d 9 10 2006 变量d为Date数据类型 14 2 1 3数据类型的转换 将数据从一种数据类型改变为另外一种数据类型的过程称为数据类型转换 根据涉及的类型和代码语法的不同 转换可分为扩展型转换或紧缩型转换 也可分为隐式转换或显式转换 15 1 扩展型转换和紧缩型转换扩展型转换 扩展型转换将值更改为可提供原始数据的任何可能值的数据类型 扩展转换总会成功 标准扩展转换见表2 3 16 17 2 紧缩型转换紧缩转换包括扩展转换的反向转换 紧缩转换不一定总会成功 也就是说它们在运行时可能会执行失败 如果目标类型不能接收被转换的值 则将产生错误 例如 Long型数据转换为Integer型数据时就可能会导致数据溢出 不论是扩展型还是紧缩型转换 都使用类型转换函数 18 2 隐式转换和显式转换 1 隐式 自动 转换隐式转换指不需要在代码中使用任何特殊语法 如转换函数 就可以进行数据类型转换 VB2005提供了转换开关 OptionStrict on off 决定数据类型是否可以进行隐式 自动 转换 系统默认为off OptionStrictOff 允许做隐式转换OptionStrictOn 禁止做隐式转换 19 2 显式转换显式转换指需要使用类型转换关键字 也称为转换函数 进行数据类型转换 类型转换函数见表2 4 20 21 例如 DimdAsDated 1 1 2006 Dims1 s2AsStrings1 CType d String 将日期型数据转换为字符型数据s2 CStr d 将日期型数据转换为字符型数据Console WriteLine s1 Console WriteLine s2 Console控制台类表示控制台应用程序的标准输入流 输出流和错误流 Console控制台类常用的方法有Write方法和WriteLine方法 Write方法将指定值的文本表示形式写入标准输出流输出到输出窗口 WriteLine方法将指定的数据 后跟当前行结束符 写入标准输出流输出到输出窗口 22 VB2005还提供了VarType函数来判断数据类型 VarType函数返回一个整数 整数值表示所对应的数据类型 如表2 5所示 23 24 例如 Console WriteLine VariantType Integer 输出结果为 3Console WriteLine VariantType Date 输出结果为 7Console WriteLine VariantType String 输出结果为 8Dimi j k 声明没有具体数据类型变量i 10j 10 20 1990 k 你好 Console WriteLine VarType i 输出结果为 3Console WriteLine VarType j 输出结果为 7Console WriteLine VarType k 输出结果为 8 25 2 2VB2005的变量 在程序中处理数据时 对于输入的数据 参加运算的数据 运行的结果等临时数据 通常将它暂时存储在计算机的内存中 变量就是命名内存的内存单元位置 对于变量 在程序执行的每个瞬间 变量的值都是确定的 已知的 但在程序执行的整个过程中它的值可以变化的 变量有两个特性 名字和数据类型 变量的名字用于在程序中标识变量和使用变量的值 数据类型则确定变量中能保存哪种数据 在VB2005中 变量有两种形式 属性变量和内存变量 简称为变量 属性变量是系统自动创建的 例如命令按钮Button1的属性变量Enabled的数据类型已由系统自动创建为布尔型 即属性变量Enabled只能取值True或False 而内存变量则要靠程序员根据程序需要创建 本节主要介绍VB2005的变量的使用 26 2 2 1变量的命名规则 在使用变量之前必须声明它们 为了方便程序员操作内存数据 每个变量都是有名字的 程序员可以通过变量名字来引用变量 1 变量名的命名规则变量名的第1个字符必须是字母 汉字或下划线 如果以下划线开头 则后必须包含至少一个字母 汉字或十进制数字 例如sum a 姓名 x3 变量名只能包含字母 汉字 十进制数字和下划线 变量名中不能包含空格 小数点以及各种符号 组成变量名的字符数不能超过1023个字符 变量名不能是关键字 例如If Integer等 变量名在同一范围内必须是惟一的 27 2 声明变量名时的注意事项给变量取名最好使用有明确实际意义 还应该使名称尽可能地短 变量名称不区分大小写 公有变量名中每个独立的单词都应以大写字母开头 合理使用缩写 当声明局部或私有变量时 第一个单词的首字母应小写 变量名不能与过程名和符号常量名等关键字相同 如果是方法变量名或类变量名 习惯上以动词 动词短语开始开头 28 2 2 2变量的声明 在默认情况下 VB2005编译器强制使用变量声明 即在使用变量前 必须声明变量 1 隐式声明和显式声明VB2005提供了控制声明的开关 OptionExplicit on off 指定变量是否可以隐式声明 即无需声明即可使用变量 OptionExpliciton 启用隐式声明检查 变量必须先定义再使用 显式声明 OptionExplicitoff 禁用隐式声明检查 变量可以不声明就使用 隐式声明 29 30 2 声明变量使用声明变量可以声明变量的名称和特性 其语法格式如下 变量名 As 类型 例2 1 在过程中声明1个名为sum的Integer型局部变量 代码如下 PrivateSubForm1 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesMyBase ClickDimsumAsInteger 在过程中声明一个名为sum的Integer类型变量sum 100 给变量赋值sum sum 1 变量值加1EndSub 31 3 变量的作用域即变量的生命周期 或变量的适用范围 如果在变量作用域之外使用该变量 会产生编译错误 影响变量作用域的因素 变量声明的位置 控制块 过程 模块 类 结构 用来声明变量的关键字 Dim Public Friend Private Shared Static Protected 32 各关键字的定义的变量类型 Dim 声明变量所在位置的局部变量 退出模块不保留变量值 变量值将被初始化 Static 保留局部变量的值 只能在控制块或过程级使用 Private 定义模块级私有变量 Public 定义解决方案级变量 该变量没有访问限制 若该变量在窗体模块中定义 在其它模块中引用时要加窗体前缀 如Form1 k Friend 该变量可从包含其声明的程序集内访问 Shared 该变量与一个类或结构在整体上相关联 Protected 该变量只能被其自身的类或派生类访问 只能在类级使用Protected Private Public Friend Shared Protected仅可以在模块 接口或类级别使用 33 例2 2 在窗体类中声明1个名为str1的String型变量 在过程中声明1个名为str2的String型变量 代码如下 PublicClassForm1Dimstr1AsString 北京 PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadDimstr2AsString 在过程中声明一个名为str2的String类型变量str2 欢迎你 Console Write str1 str2 输出表达式的值EndSubEndClass 例2 3 在过程中声明一个名为num的Integer型静态变量 代码如下 PrivateSubForm1 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesMyBase ClickStaticnumAsInteger 在过程中声明一个Integer类型的静态变量num num 1EndSub 34 2019 12 31 35 2 2 3变量的属性 在VB2005中 任何变量都被看作是一个对象 这是面向对象编程语言的最大特点 系统将数据类型也看作是一个类 当程序员声明一个变量 就生成了一个由该类派生出来的 名为该变量名的对象 所以变量也可以称为变量对象 36 2 3VB2005的常量 编写程序代码时经常会反复使用同一个数据值 这时使用常量能够大大提高程序的可读性和易维护性 常量又称为常数 是指在程序运行过程中始终保持不变的常数 字符串等 定义了常量 就可以将这些常量置于代码中 在VB2005中 有两种形式的常量 直接常量和符号常量 本节主要介绍VB2005中两种形式的常量 37 2 3 1直接常量 直接常量是直接由数字或字符构成的常量 不用声明 1 字符串常量字符串常量就是用双引号括起来的一串字符 这些字符可以是除双引号和回车 换行符以外的所有字符 例如 A 123 你好 2 数值常量数值常量有两种数值类型 整数和非整数 例如 12 3 布尔常量布尔常量只有两个值 True和False 4 日期时间常量日期时间常量是用两个 括起来的表示日期时间的常量 但是该常量一定要符合日期时间书写格式 一般形式为 mm dd yyyyhh mm ssam pm 或 yyyy mm ddhh mm ssam pm 例如 05 16 2007 2007 05 1618 52 38 38 2 3 2符号常量 符号常量是一个替代文本并在整个程序中保持此相同值的有意义名称 当OptionStrict为On时 必须使用数据类型显式声明所有常量 符号常量又分为两种 系统内部定义的符号常量和用户定义的符号常量 1 系统内部定义的符号常量内部或系统定义的常量是VB2005和控件提供的 这些常量可以与应用程序的对象 方法和属性一起使用 在代码中可以直接使用它们 例如 VB2005定义了一些颜色常数 vbBlack表示黑色 vbRead表示红色 VB2005在进行输出显示时 还定义了一些输出和显示常数 例如vbCr表示回车符 39 2 用户定义的符号常量用户定义的符号常量是由程序员本人根据需要自行创建的符号常量 用户定义的符号常量使用Const语句来给常量分配名字 值和类型 其语法格式如下 Public Private Friend Protected ProtectedFriend Const 常量名 As 数据类型 表达式 例2 4 在过程中声明一个名为PI的数值型常量 来计算圆的面积 代码如下 PrivateSubForm1 Click ByValsenderAsObject ByValeAsSystem EventArgs HandlesMyBase ClickConstPI 3 14Dimr sAsDecimalr 5 2s PI r rConsole Write s EndSub 40 2 3 3常量的属性 在VB2005中 任何常量也都被看作是一个对象 当程序员声明一个常量 系统就生成了一个名为该常量名的对象 在代码编辑窗口中 在常量名后输入 系统会自动弹出一个下拉列表框提示该常量的属性和方法 如图2 8所示 程序员可以直接输入属性或方法名 或者选择下拉列表框中的属性或方法名 41 2 4运算符与表达式 表达式用来表示某个求值规则 它由运算符和配对的圆括号将常量 变量 函数 对象等操作数以合理的形式组合而成 表达式可用来执行运算 操作字符或测试数据 每个表达式都产生惟一的值 表达式的类型由运算符的类型决定 VB2005中有5类运算符和表达式 算术运算符和算术表达式字符串运算符和字符串表达式位运算符和位运算表达式关系运算符和关系表达式布尔运算符和布尔表达式本节主要介绍这些运算符和表达式的格式和使用规则 42 2 4 1算术运算符和算术表达式 算术表达式也称为数值型表达式 由算术运算符 数值型常量 变量 函数和圆括号组成 其运算结果为一数值 语法格式如下 数值1 算术运算符 数值2 算术运算符2 数值3 表2 8 43 算术运算符必须按照规定先后运行 这就是算术运算符的优先级 算术运算符按优先级顺序由高到低排列为 乘方 负号 或 正号 乘 或 除 整除 Mod 求模 加 或 减 同级运算按照从左向右进行 必要时可以用括号来确定运算顺序 例2 5 使用算术表达式计算结果 代码如下 PrivateSubButton1 Click ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesButton1 ClickDimx y zAsDecimalx 10 62y 2 9z x y 10 2 xMod6Console WriteLine z 输出结果为 62 98EndSub 44 2 4 2字符串运算符和字符串表达式 一个字符串表达式由字符串常量 字符串变量 字符串函数和字符串运算符组成 其语法格式如下 字符串1 字符串运算符 字符串2 字符串运算符 字符串3 字符串比较运算符没有优先级 按照从左向右进行 必要时可以用括号来确定运算顺序 使用 运算符时 有可能无法确定是做加法还是做字符串连接 将 运算符用于连接以消除多义性并提供自动生成代码 表2 9 45 例2 6 PublicClassForm1PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadConsole WriteLine 1 2 Console WriteLine 1 2 Console WriteLine 1 2 EndSubEndClass 46 2 4 3关系运算符和关系表达式 关系表达式 比较表达式 由各种表达式和关系运算符 比较运算符 组成 关系表达式通常用于控制结构 IF语句 的条件中 返回True或False值 其语法格式如下 表达式1 关系运算符 表达式2 关系运算符 表达式3 关系运算符没有优先级 按照从左向右进行 必要时可以用括号来确定运算顺序 47 2 4 4布尔运算符和布尔表达式 布尔表达式 逻辑表达式 由表达式和布尔运算符 逻辑运算符 组成 布尔运算符通常与比较运算符一起使用 生成控制结构的条件 返回True或False值 其语法格式如下 双操作数 表达式1 布尔运算符 表达式2 布尔运算符 表达式3 布尔运算符有优先级 Not的优先级最高 And AndAlso其次 Or OrElse再次之 Xor最低 48 表2 12布尔运算符和布尔表达式 49 注意 如果AndAlso表达式中的第一个表达式计算为False 则不计算第二个表达式 并且为该AndAlso表达式返回False 如果OrElse表达式中的第一个表达式计算为True 则不计算第二个表达式 并且为该OrElse表达式返回True 50 例2 7 PublicClassForm1PrivateSubForm1 Load ByValsenderAsSystem Object ByValeAsSystem EventArgs HandlesMyBase LoadDimb1 b2 b3 b4 b5 b6AsBooleanb1 2And2b2 5 9 OrFalseb3 5Xor6b4 NotTrueb5 37b6 3 2 OrElse5 7Console WriteLine b1 Console WriteLine b2 Console WriteLine b3 Console WriteLine b4 Console WriteLine b5 Console WriteLine b6 EndSubEndClass 51 2 4 5位运算符和位运算表达式 位运算表达式由表达式 只能是数值型数据 和位运算符组成 运算时要先将操作数转换成二进制数 其语法格式如下 表达式1 位运算符 表达式2 位运算符 表达式3 表2 13 52 2 4 6运算符优先级 表2 14 53 2 5常用内部函数 函数是一种特定的运算 在程序中使用一个函数时 只要给出函数名并给出一个或多个参数 就能得到它的函数值 在VB2005中 有两类函数 内部函数和用户自定义函数 用户自定义函数是由用户自己根据需要定义的函数 内部函数也称为标准函数 是VB2005系统内部已经封装好的 供程序员使用的功能完善的函数 内部函数根据其用途的不同 可分为 数学函数 字符串函数 日期时间函数 随机函数和转换函数 本节主要介绍VB2005常用的内部函数 54 2 5 1数学函数 数学函数主要用于各种数学运算 在VB2005中全部的数学函数都被封装到System Math类中 我们可以用Imports关键字引用该类 表2 15 55 2 5 2字符串函数 字符串函数主要用于各种字符串处理 有些字符串函数在调用时需要引用其命名空间Microsoft VisualBasic 如Right Left函数 例如 Microsoft VisualBasic Left abc 2 56 表2 16 57 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论