第3章 从学习VB.NET基本要素开始学习编程

Slides:



Advertisements
Similar presentations
Visual Basic程序设计 第三章 常量与变量
Advertisements

没有规矩,不成方圆。.
C++程序设计 第二章 数据类型与表达式.
Chapter2 Constants, Variables, and Data Types
第九章 字符串.
BLANK overview.
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
第3章 變數、資料型別與運算子.
程式語言 -Visual Basic 變數、常數與資料型態.
基础篇 基础知识 —C语言程序设计 学习目标 掌握C语言中三种常见的基本类型及其使用方法 掌握常见的算术运算符和表达式的使用
第2讲 C++语言基础 2.1 基本语法成分 2.2 基本数据类型 2.3 变量和常量 2.4 运算符和表达式 2.5 综合案例分析.
Visual Basic程序设计基础 教师: 丁 鹏 联系电话:
管理信息结构SMI.
走进编程 程序的顺序结构(二).
Visual Basic程序设计基础 教师:夏学梅 电话:
C语言程序设计 第三章 数据类型、运算符与表达式
第3章 變數、資料型別與運算子 3-1 變數與資料型別的基礎 3-2 變數的命名與宣告 3-3 資料型別 3-4 運算式與運算子
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
新觀念的 VB6 教本 第 6 章 資料型別.
Visual Basic 程序设计 第3章 BASIC 语言基础
程序设计基础 第 二 章 谌 卫 军 清华大学软件学院 2008年秋季.
1.2 MATLAB变量表达式与数据格式 MATLAB变量与表达式 MATLAB的数据显示格式
Visual Basic程序设计.
标识符 Java基本数据类型 常量、变量和赋值 类型转换 运算符与表达式
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
C#程序设计基础 第二章 数据类型.
第二章 数据类型、运算符与表达式.
第三章 数据类型、运算符与表达式.
第二章 数据类型与运算符 基本数据类型 变量的使用 C语言关键字 数据类型转换规则 算术运算符与赋值运算符 比较运算符与逻辑运算符
第4章 PHP流程控制语句.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
C程序设计.
Visual C# 2005程序设计 第1章 Visual C#概述 第2章 C#语法基础 第3章 顺序结构程序设计
四:JAVA语言基础.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
VB 2005資料型別與運算子.
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
C程序设计 实验二 数据类型、运算符和表达式 第6讲
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
本节内容 结构体.
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
复习 标签(label)、文本框(text)控件 按钮:点击事件
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
鸡兔同笼(续) ——选择结构.
第二章 数据类型与表达式 丘志杰 电子科技大学 计算机学院 软件学院.
数的简单处理 ——顺序结构、变量、数据类型、运算符
顺序结构程序设计 ——关于“字符串”和数值.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第2章 Java语言基础.
2 Java语言基础 (数据运算与流程控制).
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

第3章 从学习VB.NET基本要素开始学习编程 本章开始,我们将学习如何编写程序代码以实现应用 程序的功能。应用程序中需要处理各种各样的数据, 在开始学习编写程序代码之前,首先需要理解这些数 据如何表示、属于何种数据类型、如何用变量存储数 据以及使用运算符构成表达式对数据进行运算。

章节内容 3.1 数据类型 3.2 变量 3.3 常量 3.4 类型转换 3.5 运算符与表达式

3.1 数据类型 数据是程序必须的组成部分,也是程序 处理的对象。程序中使用的数据一定拥 有某种类型,如数字、字符或日期等, 我们称为数据类型,分为以下两类。 基本数据类型。 复合数据类型。

3.1.1 基本数据类型 VB.NET中有16中不同的基本数据类型, 可以分为以下3类。 数值类。 文本类。 其他数据类型。

数值类 数据类型 表示方式 对应CLS类型 字节数 取值范围 说明 整型 Integer System.Int32 4 -2,147,483,648~2,147,483,647(有符号) 用于表示简单整数 字节型 Byte System.Byte 1 0~255 用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快 有符号字节型 SByte 无 -128~127(有符号) 短整型 Short System.Int16 2 –32768~32767(有符号) 是整型的一种形式,相对表示范围较小 长整型 Long System.Int64 8 (有符号)-9,223,372,036,854,775,808~9,223,372,036,854,775,807(9.2E+18) 是整型的一种形式,相对表示范围较大 单精度型 Single System.Single 对于负值,为-3.4028235E+38~-1.401298E-45;对于正值,为1.401298E-45~3.4028235E+38 用于存放单精度浮点数

接上表 双精度型 Double System.Double 4 对于负值,为-1.79769313486231570E+308~-4.94065645841246544E-324;对于正值,为4.94065645841246544E-324~1.79769313486231570E+308 用于存放双精度浮点数 小数 Decimal System.Decimal 16 0~±79,228,162,514,264,337,593,543,950,335(±7.9E+28),不包含小数点;0~±7.9228162514264337593543950335,包含小数点右边28位;最小非零数为±0.0000000000000000000000000001(±1E-28) 常用于存储货币值 无符号整型 UInteger 无 0~4,294,967,295(无符号) 无符号短整型 UShort 2 0~65,535(无符号) 无符号长整型 ULong 8 0~18,446,744,073,709,551,615(1.8E+19)(无符号)

什么是CLS? Common Language Specification 这是.NET公用语言规范,可以保证各种 语言组件间的互操作性。 Visual Basic.NET使用的每种数据类型 都与CLS中的一种类型直接对应,这为 构建跨语言集成,保证代码类型安全, 确保用不同语言编写的对象能够起到交 互作用打下了基础。

注意,SByte、UInteger、UShort和 ULong四种类型不符合公共语言规范( CLS),符合CLS的代码不能使用已使用 了该数据类型的组件。 因此如果编写的程序需要供其他语言编 写的程序使用,最好不要使用这4种类 型,而以其他类型如Byte、Integer、 Short、Long等代替。

文本类 数据类型 表示方式 对应CLS类型 字节数 说明 字符串型 String System.String 取决于实现平台 用于存放任何形式的字符串,可以存放0到大约20亿个Unicode字符 字符型 Char System.Char 2 用于存放一个字符,它以0~65535之间数字的形式存储

其他 数据类型 表示方式 对应CLS类型 字节数 说明 日期型 Date System.DateTime 8 范围为0001 年1月1日午夜0:00:00到9999年12月31日晚上11:59:59 布尔型 Boolean System.Boolean 取决于实现平台 取值为True和False 对象型 Object System.Object 4个字节(32位平台),8个字节(64位平台) 任何类型都可以存储在Object类型的变量中

3.1.2 复合数据类型 除了上述16种数据类型以外,VB.NET还 允许用户自定义自己的数据类型,称为 复合数据类型,包括以下3种。 3.1.2 复合数据类型 除了上述16种数据类型以外,VB.NET还 允许用户自定义自己的数据类型,称为 复合数据类型,包括以下3种。 数组。 结构。 类。

3.2 变量 变量是计算机编程中的一个重要概念, 是一个可以存储数据的名称。 变量是值随着程序的运行而变化的量。 3.2 变量 变量是计算机编程中的一个重要概念, 是一个可以存储数据的名称。 变量是值随着程序的运行而变化的量。 下面的代码声明了一个整型的变量intX ,并为它赋值。 1 Dim intX As Integer =1 ' 声明了一 个整型变量intX,并将其值赋为1 2 intX=10 ' 此时,intX值变为10

变量命名规则 Visual Basic中的元素名称必须遵循以 下规则。 必须以字母或下划线(_)开头。 必须只包含字母、十进制数字和下划线。 如果名称以下划线开头,则必须包含至少 一个字母或十进制数字。 长度不能超过1023个字符。 不能是Visual Basic中的关键字。

例如,下面这些变量名都是合法的。 str total x

下面这些变量名都是非法的。 12a ' 以数字开头 ab%c ' 含有非法字符% dim ' 使用VB.NET关键字

VB.NET中的变量名不区分大小写,即下 面这几个名字在VB.NET中将表示同一个 变量。 intX intx INTX

匈牙利命名法(Hungarian) 我们采用小写前缀加上有特定描述意义 的名字的方式来为变量命名,这种命名 方法被称为匈牙利命名法(Hungarian )。 变量名的前3个字母用于说明数据类型 ,第4个字母大写以表示变量的实际含 义,如下面的变量名。 strFileName intTotal

变量声明 VB.NET有两种声明变量的方法。一种是 使用Dim关键字显式声明变量,其语法 格式如下。 Dim 变量名 As 数据类型 例如,Dim intX as Integer。 此行代码声明了一个整型的变量intX。 再例如,Dim intX as Integer,c as Char。 此行代码分别声明了一个整型变量intX和 一个字符型变量c。

另外一种方法是隐式变量声明,即不需 要使用Dim语句显式声明变量,而是在 需要的时候直接使用该变量。 这种方法虽然使用起来方便,但是也容 易带来许多问题,如果将变量名拼错了 ,将会导致一个难以查找的错误。

1 intAppleSold=100 ' 卖掉苹果的数量 2 dblApplePrice=1.5 ' 苹果的价格 3 dblTotal=intAppleSeld*dblApplePrice ' 卖掉苹果的总价 上面3个变量都是隐式声明的,但计算卖掉苹 果总价的语句中,intAppleSold由于输入错 误,写作intAppleSeld。 此时,编译器无法区分这是一个新的变量, 还是输入错误,因此将intAppleSeld作为一 个新的变量对待,导致计算错误。

变量赋值 变量=表达式 表示将赋值运算符右边表达式的值赋给 左边的变量。 例如, intX=10 intX=intX+1 ' 右边表达式可以包含左边的 变量 Dim intX As Integer=10 ' 变量声明时赋 值

3.3 常量 常量是程序运行期间值不发生变化的量 。 VB.NET中的常量分为以下两种。 文字常量。 符号常量。

文字常量 文字常量是直接出现在程序中的数值、 字符或者字符串。 字符和字符串常量是用双引号括起来的 任意字符或者字符的集合。

例子 "a" ' 单个字符 "Hello!" ' 字符串常量 123 ' 十进制 &HA2 ' 十六进制 &O123 ' 八进制 123 ' 十进制 &HA2 ' 十六进制 &O123 ' 八进制 123E8 ' E表示单精度 123D-3 ' D表示双精度

符号常量 符号常量可以为文字常量取一个友好的 名字,以提高程序的可读性。 另外,如果有某个数值需要在程序中多 处使用,也可以将其声明为符号常量, 便于修改。 符号常量声明的语法格式如下。 Const 常量名 As 数据类型=表达式

例子 下面是一些定义符号常量的例子。 通常我们建议将符号常量名全部采用大 写来表示,以示与变量区别。 Const MAXLENGTH As Integer=100 Const MINLENGTH As Integer=1 Const ERROR As String="Input message is too long!" 通常我们建议将符号常量名全部采用大 写来表示,以示与变量区别。

3.4 类型转换 将值从一种数据类型更改为另一种类型 的过程称为类型转换。 3.4 类型转换 将值从一种数据类型更改为另一种类型 的过程称为类型转换。 根据转换的结果是否在目标数据类型的 范围内,类型转换可以分为扩大转换和 收缩转换两种。 扩大转换能够维持原来的数据值,没有数 据损失。 收缩转换从一种较大的类型转到一种较小 的类型,可能会有数据损失,不能维持原 来的数值。

收缩转换的例子 1 Dim X As Single = 123.45 2 Dim Y As Integer 3 Y=X ' Y值为123,整型 第3行在赋值过程中,发生了由单精度 浮点型向整型转换的过程。由于整型不 够精确,不能保持小数点后面的数字, 导致在类型转换小数部分丢失。

隐式转换 上述类型转换是由编译器自动进行的, 不需要在代码中加入任何特殊语法,这 种类型转换称为隐式转换。

转换方向 扩大转换许可的范围,按照 Byte→Short→Integer→Long→Decimal →Single→Double从左至右均可进行转 换,而从右至左的转换则是收缩转换。 由于扩大转换不会造成数据丢失,总是 可以转换成功,因此始终允许隐式执行 。

显式类型转换 VB.NET提供了类型转换关键字,可以强 制转换为所需要的数据类型。 例如, 1 Dim X As Single=123.45 2 Dim Y As Integer 3 Y=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类型。 例如 1 Dim str As String 2 str="Hello"&" World" ' str值为“Hello World” 3 str=123&"abc" ' str值为“123abc”

+连接符 对于“+”运算符来说,exp1和exp2可 以是string类型表达式,也可以是数值 表达式。

我们建议对于字符串连接,只使用专用 的字符串连接运算符“&”,而不用 “+”,以消除“+”运算符的多义性, 防止可能出现的错误。 如果exp1是数值型,而exp2是字符串或者 相反,则根据当前Option Struct设置。 On,则产生编译器错误。 Off,则将Strin隐式转换为Double,并执行加法运算;如果String中含有非数值的字符,则隐式转换失败,引发异常。 我们建议对于字符串连接,只使用专用 的字符串连接运算符“&”,而不用 “+”,以消除“+”运算符的多义性, 防止可能出现的错误。

逻辑运算符 运算符 说明 And 逻辑与运算。如果两个表达式都为true,则结果为true Or 逻辑或运算。如果两个表达式中有一个为true,则结果为true。仅两个表达式全为false时,结果才为false Not 逻辑非运算。如果表达式为true,则结果为false;反之如果表达式为false,则结果为true Xor 逻辑异或运算。当两个表达式值不同时,结果为true;相同时(都是true或者都是false)结果为false AndAlso 短路与运算。如果两个表达式都是true,则结果为true。如果第一个表达式就是false,则不计算第二个表达式,直接返回false OrElse 短路或运算。如果两个表达式都是false,则结果为false。如果第一个表达式是true,则不计算第二个表达式,直接返回true

赋值运算符 赋值运算符(=)在3.2.2节为变量赋值 时已经介绍过。 该运算符是计算右边表达式的值并赋值 为左边的变量。 例: dim x as integer x=10

复合运算符 算术运算符和连接运算符还可以和赋值运 算符一起构成复合的赋值运算符,如+=、- =、*=、/=、\=、^=、&=等。 这些运算符同样进行赋值操作,取左边变 量的值与右边表达式进行运算之后,再将 运算结果赋值给左边的变量。

例子 1 Dim num1 As Integer = 10 2 Dim num2 As Integer = 3 3 num1 += num2 ' 等价于num1 = num1 + num2 4 num1 -= num2 ' 等价于num1 = num1 - num2 5 num1 *= num2 ' 等价于num1 = num1 * num2 6 num1 \= num2 ' 等价于num1 = num1 / num2 7 Dim str1 As String = "10" 8 Dim str2 As String = "3" 9 str1 &= str2 ' 等价于str1 = str1 + str2