版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章:数据类型、变量和表达式,教学目标 掌握基本数据类型 掌握表达式 理解数据类型转换 熟悉框架(GroupBox)控件、单选按钮和检查框,3.1 VB .NET数据类型,在不同的程序设计语言中,数据类型的规定和处理方法是不同的。在开始学习如何使用Visual Basic .NET编码之前,需要理解所使用的数据类型。需要掌握如何用变量存储数据,如何从一种数据类型转换到另一种数据类型,3.1.1数据类型,见P28表,3.1.2 理解数据类型,Boolean 变量以 16 位(2 个字节)的数值形式存储,但只能是 True 或是 False。使用关键字 True 与 False 将 Boolea
2、n 变量赋值为这两个状态中的一个。在将数值数据类型转换为 Boolean 值时,0 会转换为 False,而其他所有值都将转换为 True。在将 Boolean 值转换为数值类型时,False 将转换为 0,True 将转换为 -1。 Byte、Integer、Long和Short均可存放一个整数,它们的取值范围不同,占有的空间大小也不一样。实际编程的时候,可根据需要选用。 Decimal、Double和Single均存放一个不同范围的实数。 Char 变量以无符号的 16 位(2 个字节)数字的形式存储,取值范围为 0 到 65535。每个数字代表一个 Unicode 字符。 Date 变量
3、以 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 可以用一个声明语句声明多个同变量。例如,下
4、面的语句声明两个整型变量A和B: Dim A, B as Integer 此外,还有其他的方法也可声明一个变量,主要用于类和模块中,3.2.2变量的命名规则 变量名可以由使用者自己定义,但需遵循以下规则: 必须以字母或汉字开头,不能以数字或其他字符开头。 变量名中其他字符可以是字母、汉字、数字或下划线组成,允许是空格、句号或其他标点符号,长度不超过255个字符(最小长度为1个字符)。 变量名在变量的作用范围内必须唯一(变量的作用范围将在后面讲到)。 不能使用Visual Basic .NET中的保留字,例如:End、Sub,3.2.3变量的有效范围 根据变量声明时在程序中的位置,每个变量均有一
5、定的有效范围。 变量的有效范围决定了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 YourSalaryCERSalar
6、y Then Dim Message As String Message=”How come I get paid less but do all the work?” TextBox1.Text=Message End If 上面的示例中,VB.NET在第二行创建了一个名为Message的变量。 在第二行之前,直到VB.NET看到变量的声明代码,变量Message根本不存在。 一旦执行到最后一行时,即End If的后面,变量Message就无效了,3.2.4常量 常量是在程序运行中不变的量。 声明常量的语法如下: Const 常量名 As 类型 表达式 其中As 类型为可选项,说明了该变量的
7、数据类型。省略该项,数据类型由表达式决定。表达式的值即为该常量的值(表达式将在下一节讲述)。对于数值常数除了可用十进制数表示外,还可以使用十六进制数(数值前加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这个
8、数字作为double型看待。在程序中任何使用数字的地方均可这么作来帮助Visual Basic确定代码中的数字表式什么类型,其他可用的类型符如表,3.3运算符与表达式,表达式由变量、常量、运算符和圆括号按一定的规则组成。要掌握表达式首先要理解运算符的使用。其次表达式计算出来的值通常要存放到变量中,这是通过赋值语句来完成的,3.3.1赋值语句,赋值语句是任何程序设计中最基本的语句。它的作用是把右边表达式的值赋给左边的变量,Visual Basic .NET使用赋值号“”来赋值,其语法如下: LET变量名表达式 其中LET表示赋值,通常省略。表达式的计算结果类型应与变量名的类型一致,即同时为数值型
9、或同时为字符型。当数值型具有不同的精度时,强制转换成左边的精度。 例如: Dim lngX As Long 2000 Dim intX As Integer 234,3.2.2运算符 与其他语言一样,Visual Basic .NET通过运算符、变量等组合成表达式,实现编程中所需的大量操作。VB.NET中的运算符分为算术运算符、字符串运算符、关系运算符和逻辑运算符等,算术运算符 见表3.3 算术运算符。 字符串运算符 字符串运算符有两个:“”、“”,它们都是将两个字符串拼接起来。在字符串变量后使用运算符“”时,变量与运算符“”间应有一个空格。例如: “高级”“编程”
10、 结果为“高级编程” “This is a” & “VB.NET” 结果为“This is a VB.NET” 在使用时,连接符“”与“”的区别是: “”:连接符前后的表达式应均为字符串,若均为数值则进行算术加运算。若一个为字符串,另一个为数值则会出错。 “”:连接符前后的表达式不管是字符串还是数值,进行连接操作前,系统先将表达式转换成字符串,然后再连接。 例如: “aabbcc”+123456 出错 “aabbcc” & 123456 结果为:“aabbcc123456,关系运算符 关系运算符是双目运算符,作用是将两个表达式进行比较,若关系成立,则返回True,否则返回Fals
11、e。表达式可以是数值型、字符型。表3.4列出Visual Basic .NET中的关系运算符。 见表3.4 Visual Basic .NET的关系运算符。 使用关系运算符时应注意以下规则: 如果两个表达式是数值,则按其大小比较。 如果两个表达式是字符或字符串,则按字符的ASCII码值从左到右一一比较,即首先比较两个字符串的第1个字符,其ASCII码值大的字符串大,如果第1个字符相同,则比较第2个字符,以此类推,直到出现不同的字符为止。 关系运算符的优先级相同,逻辑运算符 逻辑运算符除Not是单目运算符外,其余都是双目运算符,作用是将表达式进行逻辑运算,结果是逻辑值True或Fa
12、lse。表3.4列出VB.NET中的逻辑运算符、运算优先级等(表中T表示True,F表示False,位运算符 当逻辑运算符运用于数值时,对两个数值表达式中位置相同的位执行按位比较具体有And(按位与)、Or(按位或)、Not(按位取反)和Xor(按位异或)4个位运算符,例如: 88 And 23 16 88 Or 23 95 88 Xor 23 79 Not 88 89,3.2.3表达式 表达式由变量、常量、运算符和圆括号按一定的规则组成。表达式通过运算后有一个结果,运算结果的类型由数据和运算符共同决定。表达式的书写规则如下: 乘号用“*”表示,并且不能省略。例a乘以b应写成:a
13、*b。 括号必须成对出现,均使用圆括号。 表达式从左到右在同一基准上书写,无高低、大小之分。 例如:已知数学表达式 ,写成Visual Basic .NET表达式为: (8*x+y)-z)(1/2)/(x-y)3,在算术运算中,如果表达式具有不同的数据精度,则Visual Basic .NET规定运算结果的数据类型采用精度高的数据类型。即 Integer关系运算符逻辑运算符 实际上,对于多种运算符并存的表达式,可增加圆括号,改变优先级可使表达式的层次更清晰,3.4 类型转换,数据类型精度由低到高的排列为: ByteShortIntegerLongDecimalSingleDouble 另外,C
14、har型可转换为String型;上述所有类型均可转换为Object型。 我们可以调用System.Convert命名空间的转换函数进行类型转换,下面是一些转换的例子: Dim intX As Integer = 423 Dim lngY As Long intY = Convert.ToInt64(intX) intY = 423 在最后一条语句中,转换函数Convert.ToInt64将intX转换为Long型后赋值给intY变量。 一个丢失数据的例子如下: Dim sngX As Single 123.74 Dim intY As Integer intY = Convert.ToInt3
15、2(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事件处理程
16、序,并在其中添加如下代码,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 = dblResult End Sub,输出结果如下,声
17、明三个类型为double的变量并从文本框中得到了输入,这里从文本框到double型变量做了隐式的转换。当使用者单击Show Sum按钮后,程序从代码Dim dblOp1开始顺序执行,直到End Sub,3.6 Visual Basic程序格式,Visual Basic编写代码也都有一定的书写规则,其主要规定如下: Visual Basic .NET代码不区分字母的大小写 为了提高程序的可读性,Visual Basic .NET对用户程序代码进行自动转换: 对于Visual Basic中的关键字,首字母总被转换成大写,其余字母被转换成小写; 若关键字由多个英文单词组成,它会将每个单词首字母转换成
18、大写; 对于用户自定义的变量、过程名,VB.NET以第一次定义的为准,以后输入的自动向首次定义的转换。 语句书写自由 在同一行上可以书写多个语句,语句间用冒号“:”分隔; 单行语句可分若干行书写,在本行后加入续行符(空格和下划线“_”); 一行允许最多达255个字符。 注释有利于程序的维护和调试 注释以Rem开头,也可用撇号“”引导注释内容,用撇号引导的注释可以直接出现在语句后面。 亦可以使用“编辑”工具栏的“设置注释块”、“解除注释块”按钮,使选中的若干行语句(或文字)添加注释或取消注释。若编辑工具栏没有在窗口上显示,可以选择“视图”菜单的“工具栏”子菜单,然后选择“编辑”命令即可,3.7
19、GroupBox、Radio Button、CheckBox控件,RadioButton、CheckBox和GroupBox控件,3.7.1 Radio Button RadioButton(单选按钮)控件是用来让用户在一组选项中选定一项且只能选定一项,RadioButton有许多属性,其中最常用的有: Text属性:设定RadioButton旁边的文本内容。 CheckAlign属性:CheckAlign属性设定控件按钮与文本的位置关系 Checked属性:由Checked属性设定RadioButton的状态。 True:RadioButton被选定。 False:RadioButton未被
20、选定,缺省设置,3.7.2 CheckBox,CheckBox(复选框)控件是让用户在一组选项中选定一项或选定多项。 CheckBox的属性中也有Text属性、CheckAlign属性和Name属性等,这些属性的用法几乎每个控件都大同小异。CkeckBox最重要的属性是Checked属性。通过Checked属性可以检查或设定CheckBox是否被选中: Checked True, 被选中 Checked False,未被选中 CheckBox中还有一个CheckState属性用来指示CheckBox目前的状态: CheckState Checked,被选中状态 CheckState UnChe
21、cked,未被选中状态 CheckState Indeterminate,不可用状态(当ThreeState 属性设置为 true时有效,3.7.3 框架GroupBox控件的使用 RadioButton控件在一组中只能选定一项,怎样对RadioButton控件分组呢?其中一个方法就是利用GroupBox控件。可以先将一个GroupBox控件放置在窗体上,然后将RadioButton控件放在GroupBox控件即可。在一个GroupBox控件中的RadioButton控件自动成为一组。另外,还可以设定GroupBox的Text属性,对分组做一个说明。 CheckBox也可以放在一个GroupB
22、ox控件中,但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) Handles BtnShow.Click Dim strInfo As String Dim strTemp A
23、s 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.C
24、hecked = 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,使他们成为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 施工员的实习报告
- 小学班主任的年度工作总结(32篇)
- 幼儿园圣诞节的小活动策划书(3篇)
- 晋升工程师工作总结
- 广东省佛山市S6高质量发展联盟2024-2025学年高二上学期期中联考 数学试卷含答案
- (一模)长春市2025届高三质量监测(一)数学试卷
- 广东省肇庆市(2024年-2025年小学五年级语文)人教版摸底考试(上学期)试卷及答案
- 2024年洁磁剂项目资金需求报告代可行性研究报告
- 上海市市辖区(2024年-2025年小学五年级语文)人教版期末考试((上下)学期)试卷及答案
- 上海市县(2024年-2025年小学五年级语文)人教版摸底考试(上学期)试卷及答案
- GB/T 13663.2-2005给水用聚乙烯(PE)管道系统第2部分:管件
- 上期开特下期必开特规律
- 各种能源排放因子
- 基础生命科学导论:第七章-进化课件
- 鼻腔冲洗专业知识讲座课件
- 一年级《劳动实践指导手册》《学习用品我整理》教案
- 小学数学北师大三年级上册整理与复习新北师大版三年级上册数学《整理和复习》
- NCCN癌痛指南更新解读专家讲座
- 大学英语口语课件
- 二维动画课件
- 国开电大软件工程形考作业3参考答案
评论
0/150
提交评论