一、数据类型
1 、字符串类型
示例: Dim StrA As String
2 、数值类型
整数 :字节型( Byte )、短型( Short )、整型( Integer )、长整型( Long )
示例: Dim IntA As Integer
浮点型 :单精度( Single )、双精度( Double )
Decimal
其他数据类型:布尔型( Boolean )、字符型( Char )、日期类型( Date )、
对象型 ( Object )
表2-1 数值类
数据类型 | 表示方式 | 取 值 范 围 | 说 明 |
整型 | Integer | – 2147483648 ~ 2147483647 | 用于表示简单整数 |
字节型 | Byte | 0 ~ 255 | 用于简单算术运算。由于这个类型的变量可以在一个字节中存储,所以运算速度最快 |
短整型 | Short | – 32768 ~ 32767 | 是整型的一种形式,相对表示范围较小 |
长整型 | Long | – 9223372036854775808 ~ 9223372036854775807 | 是整型的一种形式,相对表示范围较大 |
单精 | Single | – 3.402823E38 ~– 1.401298E-45( 对于负数 ) 和 1.401298E-45 ~ 3.402823E38( 对于正数 ) | 用于存放单精度浮点数 |
双精 | Double | – 1.79869313486232E308 ~ – 4.94065645841247E-324( 对于负数 ) 和 4.94065645841247E-324 ~ 1.79869313486232E308( 对于正数 ) | 用于存放双精度浮点数 |
小数 | Decimal | 当小数位为 0 的时候,为 – 79228162514264337593543950335 ~ 当小数位为 28 的时候,为 – 7.9228162514264337593543950335 ~ | 常用于存储货币值 |
用于存放文本的数据类型有两个。文本类型的数据类型见表 2-2 。
表2-2 文本类型的数据类型
数 据 类 型 | 表 示 方 式 | 说 明 |
字符串型 | String | 用于存放任何形式的字符串,包括一个字符或者多行字符 |
字符型 | Char | 用于存放一个字符,它以 0 ~ 65535 之间数字的形式存储 |
表2-3 其他数据类型
数 据 类 型 | 表 示 方 式 | 说 明 |
日期型 | Date | 必须用 mm/dd/yyyy 的格式表示,也可以存储时间 ( 可以存储 00:00:00 ~ 23:59:59 之间的任何时间 ) |
布尔型 | Boolean | 取值为 True 和 False |
对象型 | Object |
|
3 、用户自定义类型
结构体数据类型的定义
Public Structure Str_Module
Public StrDate As String
Public IntMonth As Integer
Private BlnFlag As Boolean
End Structure
1 、 结 构体是不同数据 类 型的一个或多个成 员 的集合;
2 、 结 构体数据 类 型被看做一个 单 独的 单 元,其 每 个成 员 都可以被 单 独地 进 行 访问 ;
3 、声明 结 构体的数据 结 构必 须 以Structure ,并以End Structure 结 尾;
4 、Structure 和 END Structure 之 间 的部分定 义 了 结 构体中的 每 个成 员 ;
5 、 结 构体中成 员 的声明 顺 序决定了 结 构体成 员变 量的存 储顺 序;
6 、 每 个成 员 必 须 用 Dim 语 句或 Public 、 Private 和 Friend 关键 字 进 行声明;
7 、如果成 员变 量用 DIM 语 句 进 行声明, 则 系 统 默 认该变 量 为 全局 变 量,如果需要声明 专 用 变 量,必 须 使用 Private 关键 字;
8 、 结 构体声明 经 常放在模 块 中,而不是 过 程内;
二、常量和变量
常量:
1 、系统内部定义的常量
2 、用户自定义常量
示例: Private Const d = 6
变量:
1、 变量的命名规则(不区分大小写)
2、 变量的类型和定义
用类型说明符来标识:把类型说明符放在变量名的尾部,可以标识不同的变量类型。
在定义变量时指定其类型。
Declare 变量名 As 类型
Declare 可以是 Dim 、 Public 、 Static ; As 是关键字;类型可以是基本或自定义类型。
3、 变量的作用域
局部变量和全局变量分为:
局部变量(过程级变量)
窗体变量和模块变量(私有的模块及变量,能被本模块的所有过程和函数使用)
全局变量(公有的模块级变量)
4、 默认声明: 对于局部变量可以不用 Dim 定义,在需要时直接给出变量名。
三、运算符
1 、算术运算符
VB.NET 中的算 术 运算符有: +( 加 ) 、 –( 减 ) 、 *( 乘 ) 、 /( 除 ) 、 /( 整数除 ) 、 Mod( 取模 ) 和 ^( 幂 ) 、 - (取负)、 & (连接) ,其中需要解 释 的是 /( 除 ) 和 /( 整数除 ) 的区 别 。 /( 除 ) 表示的是通常意 义 的除法,例如, (5.4/3) 的 结 果是 1.8 ,而 /( 整数除 ) 表示把 除数和被除数四舍五入以后再 计 算除法得到的整数 结 果,所以在 计 算 (5.4/3) 时 ,把 5.4 四舍五入 为 5 ,再 进 行运算,得到的整数 结 果是 1 , 这种 运算在特 定的 应 用中会十分有用。例如,你有 89 条消息需要 发 布,又不希望所有的 89 条信息都在一 页 中 显 示,而希望分 页显 示,而 每页 中只 显 示 20 条信息。那 么 (89 /20) 所得到的 4 就表示有 4 页 是填 满 了 20 条信息的,而剩下的一 页 中有 19 条信息,并没有填 满 。
注意:在 VB.NET 中,除了可以使用“ & “连接字符串外,还可以使用“ + “连接字符串,但在某些情况下,使用“ & ”更为安全 。
运算符 | 名称 | 类 型 | 说 明 |
+ | 加 连 接符 | 双目运算符 | 如果两个操作数 为 “String” ,就把 这 两个操作数 连 接成一个字符串,否 则 按加号 处 理 |
& | 连 接符 | 双目运算符 | 将操作数 强 行 转换 成 “String” ,再 进 行 连 接运算 |
2 、比 较 运算符
VB.NET 中的比 较 运算符有: =( 等于 ) 、 <> 或者 ><( 不等于 ) 、 <( 小于 ) 、 <=( 小于等于 ) 、 >( 大于 ) 、 >=( 大于等于 ) 、 Like 、 Is 。 这 些运算符 对 于数 值 、字符、日期表达式的比 较 都是有效的, 结 果是布 尔类 型的 True 或 False 。
特殊: Like 运算符可以 让 你比 较 两个字符串来判断它 们 是否匹配,它 还 支持通配符。星号( * )代表一个或者多个字符, 问 号( ? )代表 单 个字符,而井号( # )代表 单 个数字。另外,通 过 使用左括号和右括号( [ 、 ] ),你可以指定一个用来匹配的字符集合。
Dim MyCheck
MyCheck = "aBBBa" Like "a*a" ' 返回 True 。
MyCheck = "F" Like "[A-Z]" ' 返回 True 。
MyCheck = "F" Like "[!A-Z]" ' 返回 False 。
MyCheck = "a2a" Like "a#a" ' 返回 True 。
MyCheck = "aM5b" Like "a[L-P]#[!c-e]" ' 返回 True 。
MyCheck = "BAT123khg" Like "B?T*" ' 返回 True 。
MyCheck = "CAT123khg" Like "B?T*" ' 返回 False 。
3 、 逻辑 运算符
逻辑 运算符如下表所示:
运算符 | 名称 | 类 型 | 说 明 |
AND | 与 | 双目运算符 | A AND B 表示A 与B ,A 、B 都 为 “True” 时 , 结 果 为 “True” ,否 则为 “False” |
NOT | 非 | 单 目运算符 | NOT A 表示非 A , A 为 1 时 , 结 果 为 0 ; A 为 0 时 , 结 果 为 1 |
OR | 或 | 双目运算符 | A OR B 表示A 或B ,A 、B 都 为 “False” 时 , 结 果 为 “False” ,否 则为 “True” |
XOR | 异或 | 双目运算符 | A XOR B 表示A 异或B ,A 、B 不相等 时 , 结 果 为 “True” ,否 则为 “False” |
注意:除此之外还有 Eqv (等价)、 Imp (蕴含)、 BitAnd( 位与 ) 、 BitOr (位或)、
BitXor (位异或)
VB.net 与 C# 的 对应
And 对应 &&
AndAlso 对应 &
or 对应 ||
orElse 对应 |
四、数组
定长数组:
1、 创建一个公共数组
Public StrArray(100) As String
2、 建立模块级数组
Dim IntArray(100) As Integer
3、 在过程内部建立局部数组变量
Public Sub GetId()
Static StrValue(20) As String
End Sub
多维数组:
Static StrValue(20) As String
Static Test1(9, 9) As Double
Static Test2(0 To 9, 0 To 9) As Double
' 四 维 ( 4*6*6*4 )数 组 ,共有 576 个元素
Static Test3(3, 0 To 6, 5, 0 To 3) As Double
' 返回数 组 的上下界
LBound(StrArray)
UBound(StrArray)
动态数组:
定 义 数 组 后, 为 了使用数 组 ,必 须为 数 组 分配所需要的内存区。根据内存 区分配 时 机的不同,可以把数 组 分 为 静 态 (Static) 数 组 和 动态 (Dynamic) 数 组 。通常把需要在 编译时 分配内存区的数 组 叫做静 态 数 组 ,而把需要在 运行 时 分配内存区的数 组 叫做 动态 数 组 。当程序没有运行 时 , 动态 数 组 不占据内存,因此可以把 这 部分内存用于其他操作。
在 VB 中定 义动态 数 组 通常分两 步 :首先在窗体 层 或 标 准模 块 中用 Dim 、 Private 或 Public 声明一个没有下 标 的数 组 ( 括号不能省略 ) ,然后在 过 程中用 ReDim 语 句定 义带 下 标 的数 组 。
. ReDim 语 句的作用,是重新指出数 组 的大小。它是在程序 执 行到 ReDim 语 句 时 才分配存 储 空 间 。
格式: ReDim( 数 组 名 )( 下 标 )[As( 类 型 )]
功能:改 变动态 数 组 的大小和存 储 空 间 。
考 试 大 说 明:
(1) 下 标 可以是常量,也可以是具有确定 值 的 变 量。
(2) 语 句中各参量的含 义 与用 Dim 定 义 数 组 的 语 句相同。
(3)ReDim 语 句只能用于 动态 数 组 ,它可以改 变每 一 维 的大小,但不能改 变维 数。
(4) 当程序 编译时 , ReDim 语 句中的所有数 组 均被 说 明 为动态 数 组 。在程序运行中,当 执 行到 ReDim 语 句 时 ,就把新的上下界重新分配 给 数 组 ,数 组 元素的 值 将被初始化,所有的数 值 元素的 值 被置 为 0 ,字符串元素被置 为 空字符串。
(5)ReDim 语 句可以同 Dim 语 句一 样 定 义 数 组 。在同一程序中, ReDim 语 句 还 可以多次使用。在用: ReDim 语 句重新定 义 数 组 之前,可以使用: Erase 语 句将原来 的数 组删 除 。