VB语法_精品文档
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
3.2.1 声明变量
• 变量是在程序运行过程中其值可以变化的量
• 使用变量前,一般必须先声明变量名和其类 型,以确定为它分配多大的存储单元
– 语法:
Dim 变量名 As 类型
– 例如:
Dim strMyName As String Dim nAge As Integer
• 可以用一个声明语句声明多个同类型的变量
2022年9月17日星期六 14
3.3 运算符与表达式
3.3.1 赋值语句 3.3.2 运算符 3.3.3 表达式
2022年9月17日星期六
15
3.3.1 赋值语句
• 赋值语句是任何程序设计中最基本的语句
– 它的作用是把右边表达式的值赋给左边的变量 – Visual 使用赋值号“=”来赋值 – 语法:
3.1415926 34567888
4字节 8字节 16字节
负值取值范围为–3.402 823E+38~–1.401 298E–45 正值取值范围为1.401 298E–45~3.402 823E+38
负数取值范围为–1.797 693 134 862 31E+308~ –4.940 656 458 412 47E–324 正值取值范围为4.940 656 458 412 47E–324~ 1.797 693 134 862 31E+308
– 例如:
Dim A, B As Integer
2022年9月17日星期六
9
3.2.2 变量的命名规则
• 变量名命名规则:
– 必须以字母或汉字开头,不能以数字或其他字 符开头
– 变量名中其他字符可以是字母、汉字、数字或 下划线组成,不允许是空格、句号或其他标点 符号,长度不超过255个字符
– 变量名在变量的作用范围内必须唯一
1 数据类型、变量和表达式
3.1 Visual 数据类型 3.2 变量与常量 3.3 运算符与表达式 3.4 类型转换 3.5 程序的顺序结构 3.6 Visual Basic程序格式
2022年9月17日星期六
1
3.1 Visual 数据类型
3.1.1 数据类型 3.1.2 理解数据类型
Object
4字节 任何类型都可以存储在Object类型的变量中
用户定义的 类型(结构)
取决于实 结构中的每个成员都有由自身数据类型决定的取值 现平台 范围,并与其他成员的取值范围无关
2022年9月17日星期六
5
3.1.2 理解数据类型
• Boolean变量
– Boolean变量以16位(2个字节)的数值形式存储,但其值只能是 True或是False
– “+”连接符前后的表达式应均为字符串,若均为数值 则进行算术加运算。若一个为字符串,另一个为数值 则会出错
– “&”连接符前后的表达式不管是字符串还是数值,进 行连接操作前,系统先将表达式转换成字符串,然后 再连接
– 例如:
"aabbcc" + 123456 "aabbcc" & 123456
'出错 '结果为"aabbcc123456"
0~79 228 162 514 264 337 593 543 950 335之 间不带小数点的数 0~7.922 816 251 426 433 759 354 395 033 5之 间带28位小数的数 最小非零数为0.000 000 000 000 000 000 000 000 000 1(1E–28)
存储分配
取值范围
Boolean Byte Char
String (变长)
Date
True 122
C
Hello
04/23/1972 02:00 PM
2字节 1字节 2字节
True或False 0~255(28-1)(无符号) 0~65 535(216-1)(无符号)
取决于实现平台 0~大约20亿个Unicode字符
– 例如:
Dim lngX As Long = 2000 Dim intX As Integer = 234
2022年9月17日星期六
17
3.3.2 运算符
1. 算术运算符 2. 字符串运算符 3. 关系运算符 4. 逻辑运算符 5. 位运算符
2022年9月17日星期六
18
1. 算术运算符
• P32表3-3(设intA变量为整型,值为3)
– Date值必须以数字符号(#)括起来,格式必须为M/d/yyyy,如 #5/31/1993#
• String类型可以存放一个字符串
2022年9月17日星期六
7
3.2 变量常量
3.2.1 声明变量 3.2.2 变量的命名规则 3.2.3 变量的有效范围 3.2.4 常量
2022年9月17日星期六
–9 223 372 036 854 775 808~9 223 372 036 854 775 807
(-263~263-1)
2022年9月17日星期六
4
数据类型 Single (单精度 浮点型) Double (双精度 浮点型)
Decimal
示例 存储分配
取值范围
423eE12
22.34E22
– 在将数值数据类型转换为Boolean值时,
• 0 False,而其他所有值True
– 在将Boolean值转换为数值类型时,
• False0,True-1
• Byte、Integer、Long和Short均可存放一个整数,但取值 范围不同
• Decimal、Double和Single均存放一个不同范围的实数
25
3.3.3 表达式
• 表达式由变量、常量、运算符和圆括号按一定的规则组成
• 表达式通过运算后有一个结果,运算结果的类型由数据和 运算符共同决定
• 表达式的书写规则:
– 乘号用“*”表示,并且不能省略 – 括号必须成对出现,均使用圆括号 – 表达式从左到右在同一基准上书写,无高低、大小之分
– 例如:
运算符 ^ – * / \
Mod + –
含义 乘方 负号
乘 浮点除 整除 取模
加 减
优先级 1 2 3 3 4 5 6 6
例子 intA^2 –intA intA*intA 10/intA 10\intA 10 Mod intA 10+intA intA–10
结果 9 –3 9
3.33333333333333 3 1 13 –7
2022年9月17日星期六
13
• 在程序中任何使用数字的地方,均可在数字后面 加一个类型符,用来帮助Visual Basic确定代码中的 数字表示什么类型
– P31表3-2
字符 数据类型 字符 数据类型 字符 数据类型
F
Single
I
Integer
R
D
Decimal
L
Long
S
Double Short
2022年9月17日星期六
6
• Char变量
– Char变量以无符号的16位(2个字节)数字的形式存储,取值范围 为0到65535
– 每个数字代表一个Unicode字符
• Date变量
– Date变量以8个字节整数的形式存储,表示从1年1月1日到9999年 12月31日的日期以及从凌晨0:00:00到晚上11:59:59的时间
• 其中,“-”运算符在单目运算(单个表达式)中作负号运算,在双目 运算(两个表达式)中作算术减运算,其余都是双目运算符
• 运算优先级表示当表达式中含有多个运算符时,先执行哪个运算符
2022年9月17日星期六 19
2. 字符串运算符
• 字符串运算符有两个:“&”、“+”,它们 都是将两个字符串拼接起来
8字节
0001年1月1日凌晨0:00:00~ 9999年12月31日晚上11:59:59
Short
23456
2字节
–32 768~32 767 (-215~215-1)
Integer 1234567
Long (长整型)
1234567890
4字节 8字节
–2 147 483 648~2 147 483 647 (-231~231-1)
使用十六进制数(数值前加&H)和八进制数(数 值前加&O)
• 常量名的命名规则中,其长度最长为40字符,其 他同变量命名规则
– 例如:
Const PI = 3.14159
‘Single
Const MAX As Integer = &O144
‘Integer
Const COUNTS = 12.34R
‘Double
4. 逻辑运算符
• 逻辑运算符除Not是单目运算符外, 其余都是双目运算符,作用是将表 达式进行逻辑运算,结果是逻辑值 True或False
2022年9月17日星期六
23
运算符 说明 优先级
说明
Not 取反 1 当表达式为False时,结果为True
And
与
2 两个表达式均为True时,结果才为True
– 数据类型精度由低到高的排列为:
数学表达式:
(3x y) z ( x y) 3
Visual 表达式:((3*x+y)-z)^(1/2)/(x*y)^3
2022年9月17日星期六
26
3.4 类型转换
• 有时需要将数据类型由一种转换为另一种,可 使用.NET提供的转换函数
– 当从高精度向低精度转换时会产生数据丢失,应避 免这么做
例子
结果
"ABCDEF"="ABS"
False
"ABCDEF">"ABS"
False
"bc">="abcdef "
True
23<3
False
"23"<="3"
True
77<>99
True
"ABCDEFG"Like“*DE*"
True
若两个变量引用的是同一个对象,则返回True
2022年9月17日星期六 22
– 例如:
• strMystring、intCount、sng平均值、dtmYear 、blnTorF
2022年9月17日星期六
11
3.2.4 常量
• 常量是在程序运行中其值不变的量
– 语法:
Const 常量名 [As 类型] = 表达式
2022年9月17日星期六
12
• 对于数值常数除了可用十进制数表示外,还可以
– 不能使用Visual 中的保留字
2022年9月17日星期六
10
• Visual 中不区分变量名的大小 写
– 为了便于区分,一般变量首字母用大写字 母,其余用小写字母表示;常量都要用大 写字母表示
– 为了增加程序的可读性,可在变量名前加 一个缩写的前缀来表明该变量的数据类型
– 在字符串变量后使用运算符“&”时,变量与运 算符“&”间应有一个空格
– 例如:
"高级" + "编程" '结果为"高级编程"
"This is a" & “ Visual " '结果为"This is a Visual "
2022年9月17日星期六
20
• 在使用时,连接符“&”与“+”的区别是:
2022年9月17日星期六
21
3. 关系运算符
• 关系运算符是双目运算符,作用是将两个表达式进行比较 ,若关系成立,则返回True,否则返回False
– 表达式可以是数值型、字符型
– P33表3-4
运算符 = > >= < <= <>
Like Is
含义 等于 大于 大于等于 小于 小于等于 不等于 字符串匹配 对象引用比较
Or
或
Xor 异或
3
两个表达式中有一个为True时,结果为 True
3
两个表达式为一True一False时,结果才 为True
例子
Not F
T And F T And T T Or F F Or F T Xor F T Xor T
结果
T
F T T F T F
2022年9月17日星期六
24
5. 位运算符
2022年9月17日星期六
2
3.1.1 数据类型
• 数据类型用来描述真实世界中 不同类别的信息
– Visual 提供了一些预先 定义好的数据类型
– 同时也可以让使用者自定义数据 类型
2022年9月17日星期六
3
Visual 的数据类型(P28表3-1)
数据类型 示例
• 当逻辑运算符运用于数值时,对两个数值表 达式中位置相同的位执行按位比较,
– 具体有And(按位与)、Or(按位或)、Not( 按位取反)和Xor(按位异或)4个位运算符
– 例如:
88 And 23 = 16 88 Or 23 = 95 88 Xor 23 = 79 Not 88 = -89
2022年9月17日星期六
[LET] 变量名 = 表达式 • 其中,
– LET表示赋值,通常省略 – 表达式的计算结果类型应与变量名的类型一致,即同时
为数值型或同时为字符型 – 当数值型具有不同的精度时,强制转换成左边的精度
2022年9月17日星期六
16
• 可以在定义一个变量的同时直接给这 个变量一个值,通常称为变量的初值