概要

学习一种新语言, 数据类型和关键字是第一步.

数据类型

常用的数据类型如下:

类型 存储空间 范围
Boolean 2 bytes True 或者 False
Byte 1 byte 0 ~ 255
Integer 2 bytes -32768 ~ 32768
Long 4 bytes -2147483648 ~ 2147483647
LongLong 8 bytes -2147483648 ~ 2147483647
String 10 bytes + string length 0 ~ 20 亿个字符
Object 4 bytes 可以赋值给任何对象引用
Single 4 bytes -3.402823E38 ~ -1.401298E-45 (对负值)
1.401298E-45 ~ 3.402823E38 (对正值)
Double 8 bytes -1.79769313486231E308 ~ -4.94065645841247E-324 (对负值)
4.94065645841247E-324 ~ 1.79769313486231E308 (对负值)
Date 8 bytes 100 年 1 月 1 日 ~ 9999 年 12 月 31 日 0:00:00 ~ 23:59:59
Variant 16 bytes 任意值, 性能较低

VBA 中提供了一系列 函数用于类型之间的转换

运算符

运算符是和数据类型同样, 是使用最多的部分.

类型 运算符 说明 示例
算术运算符 * 乘法 MyValue = 2 * 2 ' Returns 4.
^ 乘方 MyValue = 2 ^ 2 ' Returns 4.
/ 除法运算, 返回浮点型结果 MyValue = 10 / 4 ' Returns 2.5.
\ 除法运算, 返回整数结果 MyValue = 100 \ 3 ' Returns 33.
Mod 求余数 MyResult = 10 Mod 3 ' Returns 1.
+ 加法 MyNumber = 2 + 2 ' Returns 4.
- 减法 MyResult = 4 - 2 ' Returns 2.
比较运算符 = 判断是否相等 Check = (4 = 4) ' Returns True
Is 判断 2 个对象的引用是否相同 Set ThisObject = MyObject
MyCheck = ThisObject Is ThisObject ' Returns True.
Like 比较字符串时, 可以使用通配符, 简化版的正则 MyCheck = "aBBBa" Like "a*a" ' Returns True.
连接运算符 & 连接字符串 MyStr = "Hello" & " World" ' Returns "Hello World".
+ 除了作为加法, 还可以用在字符串上 Var1 = "34": Var2 = 6; MyNumber = Var1 + Var2 ' Returns 40.
Var1 = "34": Var2 = "6"; MyNumber = Var1 + Var2 ' Returns "346".
逻辑运算符 And 逻辑与
Eqv 逻辑等于
Imp 不太常用 imp-operator
Not 逻辑非
Or 逻辑或
Xor 逻辑异或

变量

有了数据类型, 就可以定义各种变量, 完成相应的计算. 变量的定义和计算, 和其他编程语言也没有什么区别, 这里主要提下变量的生命周期.

全局变量和局部变量

 1  Dim globalX As Integer
2
3 Sub Test()
4 f1
5 globalX = globalX + 1
6 localX = localX + 1
7 f1
8 End Sub
9
10 Function f1()
11 Dim localX As Integer
12
13 Debug.Print "全局变量 " & globalX
14 Debug.Print "局部变量 " & localX
15 End Function

运行 Test, 输出:

   全局变量  0
局部变量 0
全局变量 1
局部变量 0

静态变量和动态变量

 1  Sub Test()
2 f1
3 f1
4 f1
5 End Sub
6
7 Function f1()
8 Dim dX As Integer
9 Static sX As Integer
10
11 sX = sX + 1
12 dX = dX + 1
13 Debug.Print "静态变量 " & sX
14 Debug.Print "动态变量 " & dX
15 End Function

运行 Test, 输出:

   静态变量  1
动态变量 1
静态变量 2
动态变量 1
静态变量 3
动态变量 1

最新文章

  1. dojo/request模块整体架构解析
  2. jquery使用淘宝接口跨域查询手机号码归属地实例
  3. Python读取中文txt文件错误:UnicodeEncodeError: 'gbk' codec can't encode character
  4. Eclipse报错:Setting property 'source' to 'org.eclipse.jst.jee.server:test1' did no
  5. OC中的复合
  6. js:语言精髓笔记13--语言技巧
  7. vmware上的Linux获取uuid
  8. 1. redis简介
  9. WEB网站常见受攻击方式及解决办法
  10. Spark(Hive) SQL数据类型使用详解(Python)
  11. 【C#爬虫】抓取XX网站mp4资源地址
  12. SQL server 2008无法连接Local服务器的解决办法
  13. Unity3D中的函数方法及解释
  14. javafx 聊天室WeChat
  15. 【转载】 “强化学习之父”萨顿:预测学习马上要火,AI将帮我们理解人类意识
  16. Linux下好用的屏幕录像软件kazam及截图软件shutter
  17. Non-zero exit code (1)
  18. Spark SQL读取hive数据时报找不到mysql驱动
  19. .NET Core开发日志——Linux版本的SQL Server
  20. UIDatePicker 时间选择器

热门文章

  1. pytest框架之mark标签
  2. P站全新官方精选集Pixivision
  3. 分词 | 双向匹配中文分词算法python实现
  4. 现代C++实现多种print
  5. hibernate手动设置的id无效的原因与解决方法
  6. oracle11g安装教程
  7. 记一次token安全认证的实践
  8. C#排序案例
  9. WPF/.net core WPF 系统托盘支持
  10. python基础—条件语句