数据类型变量和表达式

上传人:san****019 文档编号:21617838 上传时间:2021-05-05 格式:PPT 页数:37 大小:498.31KB
返回 下载 相关 举报
数据类型变量和表达式_第1页
第1页 / 共37页
数据类型变量和表达式_第2页
第2页 / 共37页
数据类型变量和表达式_第3页
第3页 / 共37页
点击查看更多>>
资源描述
第三章:数据类型、变量和表达式 教学目标掌握基本数据类型掌握表达式理解数据类型转换熟悉框架(GroupBox)控件、单选按钮和检查框 3.1 VB .NET数据类型 在不同的程序设计语言中,数据类型的规定和处理方法是不同的。在开始学习如何使用Visual Basic .NET编码之前,需要理解所使用的数据类型。需要掌握如何用变量存储数据,如何从一种数据类型转换到另一种数据类型。 3.1.1数据类型 见P28表。 3.1.2 理解数据类型Boolean 变量以 16 位(2 个字节)的数值形式存储,但只能是 True 或是 False。使用关键字 True 与 False 将 Boolean 变量赋值为这两个状态中的一个。在将数值数据类型转换为 Boolean 值时,0 会转换为 False,而其他所有值都将转换为 True。在将 Boolean 值转换为数值类型时,False 将转换为 0,True 将转换为 -1。Byte、Integer、Long和Short均可存放一个整数,它们的取值范围不同,占有的空间大小也不一样。实际编程的时候,可根据需要选用。Decimal、Double和Single均存放一个不同范围的实数。Char 变量以无符号的 16 位(2 个字节)数字的形式存储,取值范围为 0 到 65535。每个数字代表一个 Unicode 字符。Date 变量以 8 个字节整数的形式存储,表示从 1 年 1 月 1 日到 9999 年 12 月 31 日的日期以及从凌晨 0:00:00 到晚上 11:59:59 的时间。Date 值必 须以数字符号 (#) 括起来,格式必须为 m/d/yyyy,如 #5/31/1993#。String类型可以存放一个字符串。 3.2变量与常量 3.2.1声明变量 用以下方式来声明变量及类型: Dim 变量名 As 类型 其中类型可使用表3.1中所列出的数据类型或用户自定义的类型名。例如: Dim strMyName As String Dim nAge As Integer 可以用一个声明语句声明多个同变量。例如,下面的语句声明两个整型变量A和B: Dim A, B as Integer 此外,还有其他的方法也可声明一个变量,主要用于类和 模块中。 3.2.2变量的命名规则变量名可以由使用者自己定义,但需遵循以下规则:必须以字母或汉字开头,不能以数字或其他字符开头。变量名中其他字符可以是字母、汉字、数字或下划线组成,允许是空格、句号或其他标点符号,长度不超过255个字符(最小长度为1个字符)。变量名在变量的作用范围内必须唯一(变量的作用范围将在后面讲到)。不能使用Visual Basic .NET中的保留字,例如:End、Sub。 3.2.3变量的有效范围 根据变量声明时在程序中的位置,每个变量均有一定的有效范围。变量的有效范围决定了Visual Basic .NET程序中变量的可访问性。在有效范围内变量是可用的,有效范围之外,变量是无效的,对该变量的任何使用均会导致程序报错。 例如: Private Sub Button1_Click(ByVal sender As System) Dim Losers As Integer (其它语句) End Sub 上例中,介于Dim Losers As Integer命令行与End Sub命令行之间的代码均可访问变量Losers。但就程序的其他部分而言,变量Losers就无效了。 又例如下面一段代码: If YourSalaryCERSalary Then Dim Message As String Message=”How come I get paid less but do all the work?”TextBox1.Text=MessageEnd If 上面的示例中,VB.NET在第二行创建了一个名为Message的变量。在第二行之前,直到VB.NET看到变量的声明代码,变量Message根本不存在。一旦执行到最后一行时,即End If的后面,变量Message就无效了。 3.2.4常量 常量是在程序运行中不变的量。 声明常量的语法如下: Const 常量名 As 类型 表达式 其中As 类型为可选项,说明了该变量的数据类型。省略该项,数据类型由表达式决定。表达式的值即为该常量的值(表达式将在下一节讲述)。对于数值常数除了可用十进制数表示外,还可以使用十六进制数(数值前加H)和八进制(数值前加O)。常量名的命名规则中,其长度最长为40个字符,其他同变量命名规则。 例如:Const PI 3.14159 声明了常量PI,代表3.14159,Single型Const MAX As Integer O144 声明了常量MAX,代表了八进制数144,整型Const COUNTS 12.34R 声明了常量COUNTS,代表12.34,double型 注意:在12.34后面加了一个字符R来明确表示12.34这个数字作为double型看待。在程序中任何使用数字的地方均可这么作来帮助Visual Basic确定代码中的数字表式什么类型,其他可用的类型符如表。 3.3运算符与表达式表达式由变量、常量、运算符和圆括号按一定的规则组成。要掌握表达式首先要理解运算符的使用。其次表达式计算出来的值通常要存放到变量中,这是通过赋值语句来完成的。 3.3.1赋值语句 赋值语句是任何程序设计中最基本的语句。它的作用是把右边表达式的值赋给左边的变量,Visual Basic .NET使用赋值号“”来赋值,其语法如下: LET变量名表达式 其中LET表示赋值,通常省略。表达式的计算结果类型应与变量名的类型一致,即同时为数值型或同时为字符型。当数值型具有不同的精度时,强制转换成左边的精度。 例如: Dim lngX As Long 2000 Dim intX As Integer 234 3.2.2运算符 与其他语言一样,Visual Basic .NET通过运算符、变量等组合成表达式,实现编程中所需的大量操作。VB.NET中的运算符分为算术运算符、字符串运算符、关系运算符和逻辑运算符等。 3.2.2.1算术运算符见表3.3 算术运算符。 3.2.2.2字符串运算符 字符串运算符有两个:“”、“”,它们都是将两个字符串拼接起来。在字符串变量后使用运算符“”时,变量与运算符“”间应有一个空格。例如: “高级”“编程” 结果为“高级编程”“This is a” & “VB.NET” 结果为“This is a VB.NET” 在使用时,连接符“”与“”的区别是:“”:连接符前后的表达式应均为字符串,若均为数值则进行算术加运算。若一个为字符串,另一个为数值则会出错。“”:连接符前后的表达式不管是字符串还是数值,进行连接操作前,系统先将表达式转换成字符串,然后再连接。 例如: “aabbcc”+123456 出错 “aabbcc” & 123456 结果为:“aabbcc123456” 3.2.2.3关系运算符 关系运算符是双目运算符,作用是将两个表达式进行比较,若关系成立,则返回 True,否则返回False。表达式可以是数值型、字符型。表3.4列出Visual Basic .NET中的关系运算符。 见表3.4 Visual Basic .NET的关系运算符。使用关系运算符时应注意以下规则:如果两个表达式是数值,则按其大小比较。如果两个表达式是字符或字符串,则按字符的ASCII码值从左到右一一比较,即首先比较两个字符串的第1个字符,其ASCII码值大的字符串大,如果第1个字符相同,则比较第2个字符,以此类推,直到出现不同的字符为止。关系运算符的优先级相同。 3.2.2.4逻辑运算符 逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将表达式进行逻辑运算,结果是逻辑值True或False。表3.4列出VB.NET中的逻辑运算符、运算优先级等(表中T表示True,F表示False)。 3.2.2.5位运算符当逻辑运算符运用于数值时,对两个数值表达式中位置相同的位执行按位比较具体有And(按位与)、Or(按位或)、Not(按位取反)和Xor(按位异或)4个位运算符,例如:88 And 23 1688 Or 23 9588 Xor 23 79Not 88 89 3.2.3表达式 表达式由变量、常量、运算符和圆括号按一定的规则组成。表达式通过运算后有一个结果,运算结果的类型由数据和运算符共同决定。表达式的书写规则如下:乘号用“*”表示,并且不能省略。例a乘以b应写成:a*b。括号必须成对出现,均使用圆括号。表达式从左到右在同一基准上书写,无高低、大小之分。 例如:已知数学表达式 ,写成Visual Basic .NET表达式为: (8*x+y)-z)(1/2)/(x-y)3 在算术运算中,如果表达式具有不同的数据精度,则Visual Basic .NET规定运算结果的数据类型采用精度高的数据类型。即 IntegerLongSingle关系运算符逻辑运算符 实际上,对于多种运算符并存的表达式,可增加圆括号,改变优先级可使表达式的层次更清晰。 3.4 类型转换 数据类型精度由低到高的排列为:ByteShortIntegerLongDecimalSingleDouble 另外,Char型可转换为String型;上述所有类型均可转换为Object型。我们可以调用System.Convert命名空间的转换函数进行类型转换。 下面是一些转换的例子:Dim intX As Integer = 423Dim lngY As LongintY = Convert.ToInt64(intX) intY = 423 在最后一条语句中,转换函数Convert.ToInt64将intX转换为Long型后赋值给intY变量。一个丢失数据的例子如下:Dim sngX As Single 123.74Dim intY As IntegerintY = Convert.ToInt32(sngX) intX = 123常用的转换函数见表3-6 类型转换函数。 3.5 程序的顺序结构 顺序结构是一组按书写顺序执行的语句,即执行完一条语句后依次执行下一条语句。 例如:下面的程序完成了两个数之和的计算。 创建一个名为sum的新的Windows 应用程序项目。在Form窗体上放置三个TextBox控件,Name属性分别为TxtOp1,TxtOp2和TxtResult。Text属性为空。TxtResult的ReadOnly的属性为True。再放置一个button按钮,并设置其Name属性为BtnSum,其Text属性为Show sum。双击这个按钮,打开它的Click事件处理程序,并在其中添加如下代码: Private Sub BtnSum_Click(ByVal sender As System.Object, ByVal e As _System.EventArgs) Handles btnSum.Click Dim dblOp1 As Double Dim dblOp2 As Double Dim dblResult As Double dblOp1 = TxtOp1.Text dblOp2 = TxtOp2.Text dblResult = dblOp1 + dblOp2 TxtResult.Text = dblResultEnd Sub 输出结果如下:声明三个类型为double的变量并从文本框中得到了输入,这里从文本框到double型变量做了隐式的转换。当使用者单击Show Sum按钮后,程序从代码Dim dblOp1开始顺 序执行,直到End Sub。 3.6 Visual Basic程序格式Visual Basic编 写 代 码 也 都 有 一 定 的 书 写 规 则 , 其 主 要 规 定 如 下 :Visual Basic .NET代 码 不 区 分 字 母 的 大 小 写 为 了 提 高 程 序 的 可 读 性 , Visual Basic .NET对 用 户 程 序 代 码 进 行 自 动 转 换 : 对 于 Visual Basic中 的 关 键 字 , 首 字 母 总 被 转 换 成 大 写 , 其 余 字 母 被 转 换 成小 写 ; 若 关 键 字 由 多 个 英 文 单 词 组 成 , 它 会 将 每 个 单 词 首 字 母 转 换 成 大 写 ; 对 于 用 户 自 定 义 的 变 量 、 过 程 名 , VB.NET以 第 一 次 定 义 的 为 准 , 以 后 输 入 的自 动 向 首 次 定 义 的 转 换 。语 句 书 写 自 由 在 同 一 行 上 可 以 书 写 多 个 语 句 , 语 句 间 用 冒 号 “ : ” 分 隔 ; 单 行 语 句 可 分 若 干 行 书 写 , 在 本 行 后 加 入 续 行 符 ( 空 格 和 下 划 线 “ _” ) ; 一 行 允 许 最 多 达 255个 字 符 。 注 释 有 利 于 程 序 的 维 护 和 调 试 注 释 以 Rem开 头 , 也 可 用 撇 号 “ ” 引 导 注 释 内 容 , 用 撇 号 引 导 的 注 释 可 以直 接 出 现 在 语 句 后 面 。 亦 可 以 使 用 “ 编 辑 ” 工 具 栏 的 “ 设 置 注 释 块 ” 、 “ 解 除 注 释 块 ” 按 钮 , 使 选中 的 若 干 行 语 句 ( 或 文 字 ) 添 加 注 释 或 取 消 注 释 。 若 编 辑 工 具 栏 没 有 在 窗 口上 显 示 , 可 以 选 择 “ 视 图 ” 菜 单 的 “ 工 具 栏 ” 子 菜 单 , 然 后 选 择 “ 编 辑 ” 命令 即 可 。 3.7 G roupBox、Radio Button、CheckBox控件 RadioButton、CheckBox和G roupBox控件 3.7.1 Radio Button RadioButton(单选按钮)控件是用来让用户在一组选项中选定一项且只能选定一项。 RadioButton有许多属性,其中最常用的有: Text属性:设定RadioButton旁边的文本内容。 CheckAlign属性:CheckAlign属性设定控件按钮与文本的位置关系 Checked属性:由Checked属性设定RadioButton的状态。 True:RadioButton被选定。 False:RadioButton未被选定,缺省设置。 3.7.2 CheckBox CheckBox( 复 选 框 ) 控 件 是 让 用 户 在 一 组 选 项 中 选 定一 项 或 选 定 多 项 。 CheckBox的 属 性 中 也 有 Text属 性 、 CheckAlign属 性 和 Name属 性 等 , 这 些 属 性 的 用 法 几 乎 每 个 控 件 都 大 同 小 异 。CkeckBox最 重 要 的 属 性 是 Checked属 性 。 通 过 Checked属 性可 以 检 查 或 设 定 CheckBox是 否 被 选 中 :Checked True, 被 选 中Checked False, 未 被 选 中 CheckBox中 还 有 一 个 CheckState属 性 用 来 指 示 CheckBox目前 的 状 态 : CheckState Checked, 被 选 中 状 态 CheckState UnChecked, 未 被 选 中 状 态 CheckState Indeterminate, 不 可 用 状 态 ( 当ThreeState 属 性 设 置 为 true时 有 效 ) 3.7.3 框架G roupBox控件的使用 RadioButton控件在一组中只能选定一项,怎样对RadioButton控件分组呢?其中一个方法就是利用GroupBox控件。可以先将一个GroupBox控件放置在窗体上,然后将RadioButton控件放在GroupBox控件即可。在一个GroupBox控件中的RadioButton控件自动成为一组。另外,还可以设定GroupBox的Text属性,对分组做一个说明。 CheckBox也可以放在一个GroupBox控件中,但CheckBox并没有类似RadioButton分组的类似概念。将CheckBox放入一个GroupBox的作用主要是说明和装饰作用。 3.7.4 例子 在图3-2的基础上再增加一个按钮,并且为这个按钮的Click事件编写代码,通过一个消息框(MessageBox)来显示目前的选择情况。代码如下: Private Sub BtnShow_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) H andles BtnShow.Click Dim strInfo As String Dim strTemp As String strInfo = 奖学金的选择情况: If RbtnBursary1.Checked = True Then strTemp = 一等奖 End If If RbtnBursary2.Checked = True Then strTemp = 二等奖 End If If RbtnBursary3.Checked = True Then strTemp = 三等奖 End If strInfo = strInfo & strTemp & 性别选择: If RbtnMan.Checked = True Then strTemp = 男 End If If RbtnWoman.Checked = True Then strTemp = 女 End If strInfo = strInfo & strTemp & 其他选择: If ChkboxClassLeader.Checked = True Then strInfo = strInfo & 班干部 End If If ChkboxLeader.Checked = True Then strInfo = strInfo & 学生会干部 End If If ChkboxAssn.Checked = True Then strInfo = strInfo & 社团成员 End If MessageBox.Show(strInfo) End Sub 通过IF语句(下一章详细讲述)来分别判断每个RadioButton和CheckBox的Cheched属性是否为True。若是,则将相关的信息加入到strInfo中。最后,利用MessageBox将strInfo中的信息显示出来。在程序运行前,通过属性窗口将“三等奖”和“男”的Checked属性设置为True,使他们成为缺省选项。 程序运行结果如下:程序运行后,用户进行了选择,注意RadioButton的互斥性按下Show按钮后程序的显示结果: 补充阅读3.8 面向对象的程序设计 OOP最关键的一点就是使用可重用对象来构建程序。面向对象程序设计方法认为,客观世界是由各种各样的实体组成的,这些实体就是面向对象方法中的对象。一般的认为,对象是包含现实世界物体特征的抽象实体,反映了系统为之保存信息和与之交互的能力。每个对象有各自属性和方法,整个程序是由一系列相互作用的对象构成的,对象之间的交互通过发送消息来实现。对象可视为一个单元的代码和数据的组合。对象可以是一段应用程序,如控件或窗体。整个应用程序也可以是一个对象。属性是对象的特性,它们定义对象的特征之一(如大小、颜色或屏幕位置),或者定义对象行为的某一方面(如是否启用或可见)。若要更改对象的特征,可更改其相应属性的值。而方法则是对象的一组函数,主要用来对象的数据进行操作。在程序中,通过对象名加上一个句号后跟属性或方法的形式来访问对象的属性或方法。 事实上,在Visual Basic .NET中,每一个变量,每一个控件都是一个对象。 3.9良好的编程风格建议:在程序中最好每行只包括一个语句每次只声明一个变量变量和控件名尽可能起的有意义,容易记忆和理解并且风格始终保持一致。可以使用有意义的前缀起名。注意使用语句的缩格与按层次对齐,采用锯齿状的书写方式。在必要的地方加上注释,以提高程序的可读性。要编写出易读的代码,另一个重要的方面是留出大量的空白。以告诉读者每一段代码都是一个工作单元。模仿本书的例子或其它好的编程风格的例子。 小 结掌握基本数据类型(Integer、Double、string等)掌握表达式(与非一般表达式的区别:、等)理解数据类型转换(不同类型之间的转换)GroupBox、Radio Button、CheckBox控件的使用 作 业P42:4、 7
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!