版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章从学习VB.NET基本要素开始学习编程本章开始,我们将学习如何编写程序代码以实现应用程序的功能。应用程序中需要处理各种各样的数据,在开始学习编写程序代码之前,首先需要理解这些数据如何表示、属于何种数据类型、如何用变量存储数据以及使用运算符构成表达式对数据进行运算。章节内容3.1数据类型3.2变量3.3常量3.4类型转换3.5运算符与表达式3.1数据类型数据是程序必须的组成部分,也是程序处理的对象。程序中使用的数据一定拥有某种类型,如数字、字符或日期等,我们称为数据类型,分为以下两类。基本数据类型。复合数据类型。3.1.1基本数据类型VB.NET中有16中不同的基本数据类型,可以分为以下3类。数值类。文本类。其他数据类型。数值类数据类型表示方式对应CLS类型字节数取值范围说明整型IntegerSystem.Int324-2,147,483,648~2,147,483,647(有符号)用于表示简单整数字节型ByteSystem.Byte1
0~255用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快有符号字节型SByte无4-128~127(有符号)短整型ShortSystem.Int162–32768~32767(有符号)是整型的一种形式,相对表示范围较小长整型LongSystem.Int648(有符号)-9,223,372,036,854,775,808~9,223,372,036,854,775,807(9.2E+18)是整型的一种形式,相对表示范围较大单精度型SingleSystem.Single4对于负值,为-3.4028235E+38~-1.401298E-45;对于正值,为1.401298E-45~3.4028235E+38用于存放单精度浮点数接上表双精度型DoubleSystem.Double4对于负值,为-1.79769313486231570E+308~-4.94065645841246544E-324;对于正值,为4.94065645841246544E-324~1.79769313486231570E+308用于存放双精度浮点数小数DecimalSystem.Decimal160~±79,228,162,514,264,337,593,543,950,335(±7.9E+28),不包含小数点;0~±7.9228162514264337593543950335,包含小数点右边28位;最小非零数为±0.0000000000000000000000000001(±1E-28)常用于存储货币值无符号整型UInteger无40~4,294,967,295(无符号)无符号短整型UShort无20~65,535(无符号)无符号长整型ULong无80~18,446,744,073,709,551,615(1.8E+19)(无符号)什么是CLS?CommonLanguageSpecification这是.NET公用语言规范,可以保证各种语言组件间的互操作性。VisualBasic.NET使用的每种数据类型都与CLS中的一种类型直接对应,这为构建跨语言集成,保证代码类型安全,确保用不同语言编写的对象能够起到交互作用打下了基础。注意,SByte、UInteger、UShort和ULong四种类型不符合公共语言规范(CLS),符合CLS的代码不能使用已使用了该数据类型的组件。因此如果编写的程序需要供其他语言编写的程序使用,最好不要使用这4种类型,而以其他类型如Byte、Integer、Short、Long等代替。文本类数据类型表示方式对应CLS类型字节数说明字符串型StringSystem.String取决于实现平台用于存放任何形式的字符串,可以存放0到大约20亿个Unicode字符字符型CharSystem.Char2用于存放一个字符,它以0~65535之间数字的形式存储其他数据类型表示方式对应CLS类型字节数说明日期型DateSystem.DateTime8范围为0001
年1月1日午夜0:00:00到9999年12月31日晚上11:59:59布尔型BooleanSystem.Boolean取决于实现平台取值为True和False对象型ObjectSystem.Object4个字节(32位平台),8个字节(64位平台)任何类型都可以存储在Object类型的变量中3.1.2复合数据类型除了上述16种数据类型以外,VB.NET还允许用户自定义自己的数据类型,称为复合数据类型,包括以下3种。数组。结构。类。3.2变量变量是计算机编程中的一个重要概念,是一个可以存储数据的名称。变量是值随着程序的运行而变化的量。下面的代码声明了一个整型的变量intX,并为它赋值。1DimintXAsInteger=1'声明了一个整型变量intX,并将其值赋为12intX=10'此时,intX值变为10变量命名规则VisualBasic中的元素名称必须遵循以下规则。必须以字母或下划线(_)开头。必须只包含字母、十进制数字和下划线。如果名称以下划线开头,则必须包含至少一个字母或十进制数字。长度不能超过1023个字符。不能是VisualBasic中的关键字。例如,下面这些变量名都是合法的。 str total x下面这些变量名都是非法的。
12a'以数字开头 ab%c'含有非法字符% dim'使用VB.NET关键字VB.NET中的变量名不区分大小写,即下面这几个名字在VB.NET中将表示同一个变量。 intX intx INTX匈牙利命名法(Hungarian)我们采用小写前缀加上有特定描述意义的名字的方式来为变量命名,这种命名方法被称为匈牙利命名法(Hungarian)。变量名的前3个字母用于说明数据类型,第4个字母大写以表示变量的实际含义,如下面的变量名。strFileNameintTotal变量声明VB.NET有两种声明变量的方法。一种是使用Dim关键字显式声明变量,其语法格式如下。Dim变量名As数据类型例如,DimintXasInteger。此行代码声明了一个整型的变量intX。再例如,DimintXasInteger,casChar。此行代码分别声明了一个整型变量intX和一个字符型变量c。另外一种方法是隐式变量声明,即不需要使用Dim语句显式声明变量,而是在需要的时候直接使用该变量。这种方法虽然使用起来方便,但是也容易带来许多问题,如果将变量名拼错了,将会导致一个难以查找的错误。1intAppleSold=100'
卖掉苹果的数量2dblApplePrice=1.5'苹果的价格3dblTotal=intAppleSeld*dblApplePrice
'卖掉苹果的总价上面3个变量都是隐式声明的,但计算卖掉苹果总价的语句中,intAppleSold由于输入错误,写作intAppleSeld。此时,编译器无法区分这是一个新的变量,还是输入错误,因此将intAppleSeld作为一个新的变量对待,导致计算错误。变量赋值变量=表达式表示将赋值运算符右边表达式的值赋给左边的变量。例如,intX=10intX=intX+1'右边表达式可以包含左边的变量DimintXAsInteger=10'变量声明时赋值3.3常量常量是程序运行期间值不发生变化的量。VB.NET中的常量分为以下两种。文字常量。符号常量。文字常量文字常量是直接出现在程序中的数值、字符或者字符串。字符和字符串常量是用双引号括起来的任意字符或者字符的集合。例子"a"'单个字符"Hello!"'
字符串常量123'
十进制&HA2 '
十六进制&O123 '
八进制123E8 'E表示单精度123D-3 'D表示双精度符号常量符号常量可以为文字常量取一个友好的名字,以提高程序的可读性。另外,如果有某个数值需要在程序中多处使用,也可以将其声明为符号常量,便于修改。符号常量声明的语法格式如下。Const常量名As数据类型=表达式例子下面是一些定义符号常量的例子。ConstMAXLENGTHAsInteger=100ConstMINLENGTHAsInteger=1ConstERRORAsString="Inputmessageistoolong!"通常我们建议将符号常量名全部采用大写来表示,以示与变量区别。3.4类型转换将值从一种数据类型更改为另一种类型的过程称为类型转换。根据转换的结果是否在目标数据类型的范围内,类型转换可以分为扩大转换和收缩转换两种。扩大转换能够维持原来的数据值,没有数据损失。收缩转换从一种较大的类型转到一种较小的类型,可能会有数据损失,不能维持原来的数值。收缩转换的例子1DimXAsSingle=123.452DimYAsInteger3Y=X'Y值为123,整型第3行在赋值过程中,发生了由单精度浮点型向整型转换的过程。由于整型不够精确,不能保持小数点后面的数字,导致在类型转换小数部分丢失。隐式转换上述类型转换是由编译器自动进行的,不需要在代码中加入任何特殊语法,这种类型转换称为隐式转换。转换方向扩大转换许可的范围,按照Byte→Short→Integer→Long→Decimal→Single→Double从左至右均可进行转换,而从右至左的转换则是收缩转换。由于扩大转换不会造成数据丢失,总是可以转换成功,因此始终允许隐式执行。显式类型转换VB.NET提供了类型转换关键字,可以强制转换为所需要的数据类型。例如,1DimXAsSingle=123.452DimYAsInteger3Y=Cint(X)'Y值为123,整型上面第3行中,使用了CInt关键字强制将括号中的Single类型变量X转换为Integer类型。3.5运算符与表达式算术运算符关系运算符连接运算符逻辑运算符赋值运算符算术运算符运算符作用+、-加、减Mod取模\整除*、/乘、除-取负^指数关系运算符运算符功能<小于<=小于或等于>大于>=大于或等于=等于<>不等于Is对象比较IsNot对象比较Like字符串模式比较连接运算符“&”和“+”两个连接运算符。“&”专门用于字符串连接;而“+”除了数值加法运算外,也可以用于字符串连接。基本语法格式如下。result=exp1&或result=+exp2&连接符对于“&”运算符来说,exp1和exp2都应该是string类型或者可以扩大转换为string类型的表达式,连接结果result为string类型。例如1DimstrAsString2str="Hello"&"World"
'str值为“HelloWorld”3str=123&"abc"
'str值为“123abc”+连接符对于“+”运算符来说,exp1和exp2可以是string类型表达式,也可以是数值表达式。如果exp1和exp2均为数值,结果将为它们的算术和。如果exp1和exp2均为字符串,将把它们的值连接起来作为结果;如果exp1是数值型,而exp2是字符串或者相反,则根据当前OptionStruct设置。On,则产生编译器错误。Off,则将Strin隐式转换为Double,并执行加法运算;如果String中含有非数值的字符,则隐式转换失败,引发异常。我们建议对于字符串连接,只使用专用的字符串连接运算符“&”,而不用“+”,以消除“+”运算符的多义性,防止可能出现的错误。逻辑运算符运算符说明And逻辑与运算。如果两个表达式都为true,则结果为trueOr逻辑或运算。如果两个表达式中有一个为true,则结果为true。仅两个表达式全为false时,结果才为falseNot逻辑非运算。如果表达式为true,则结果为false;反之如果表达式为false,则结果为trueXor逻辑异或运算。当两个表达式值不同时,结果为true;相同时(都是true或者都是false)结果为falseAndAlso短路与运算。如果两个表达式都是true,则结果为true。如果第
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水电建设招标文件内容
- 九年级历史上册 第二单元 近代社会的确立与动荡 第9课 古老印度的抗争教案 北师大版
- 2024秋七年级语文上册 第6单元 第21课 女娲造人教案 新人教版
- 2024-2025学年高中历史 第五单元 经济全球化的趋势 第27课 综合探究:中国如何应对全球化的挑战(2)教学教案 岳麓版必修2
- 2024秋四年级英语上册 Unit 1 The Clothes We Wear Lesson 1 Skirt and Trousers教案 冀教版(三起)
- 2023三年级语文上册 第八单元 24 司马光说课稿 新人教版
- 高考地理一轮复习第十八章资源安全与国家安全第二节耕地资源与粮食安全课件
- 消防泵房管理制度
- 自愿赠与的合同(2篇)
- 《长城》教学课件
- GB/T 44351-2024退化林修复技术规程
- 第5单元 圆 单元测试(含答案)2024-2025学年六年级上册数学人教版
- 2024版《供电营业规则》学习考试题库500题(含答案)
- 24春国家开放大学《教育学》期末大作业
- 2024年意识形态工作专题会议记录【6篇】
- 三废环保管理培训
- 抢救记录死亡记录和死亡病例讨论记录课件
- 23秋国家开放大学《液压气动技术》形考任务1-3参考答案
- 21ZJ111 变形缝建筑构造
- 2023春国开电大《实用管理基础》形考任务1-4参考答案
- 大学生朋辈心理辅导智慧树知到答案章节测试2023年浙江大学
评论
0/150
提交评论