调用命令时要传递参数,命令也可以有返回值,程序就像是一台机器一样,将来料加工成商品,程序的本质,其实就是数据处理。
所以电脑的学名叫做:计算机,计算机的核心,当然是计算数据的了,那么数据有哪些形态呢?
数学类型顾名思义,就是可以进行数据计算的类型,这个类型有非常多的子类型:
Byte、Integer、Long、Int64、WORD、DWORD、Single、Double、Ext、Currency
计算机和人不同,计算机要考虑数据该怎样才能存储起来,以及怎样存储才能刚好够用又不浪费空间,所以才会有这么多的数字类型。
Byte:字节类型,只能表示整数,可以表示的最大范围:0 到 255。
Integer:短整数类型,只能表示整数,可以表示的最大范围:-32768 到 32767。
Long:整数类型,只能表示整数,可以表示的最大范围:-2147483648 到 2147483647。
Int64:长整数类型,只能表示整数,可以表示的最大范围:-9223372036854775808 到 9223372036854775807。
WORD:无符号短整数类型,只能表示整数,不可以表示负数,能表示的最大范围:0 到 65535。
DWORD:无符号整数类型,只能表示整数,不可以表示负数,能表示的最大范围:0 到 4294967295。
Single:单精度浮点数,可以表示小数,精度较差,能表示的最大范围:8.43x10^-37 到 3.40x10^38。
Double:双精度浮点数,可以表示小数,精度较高,能表示的最大范围:4.19x10^-307 到 1.79x10^308。
Ext:80位浮点数,可以表示小数,精度很高,能表示的最大范围:3.4*(10^-4932) 到 1.2*(10^4932)
Currency:货币类型,一般用于货币计算,最多只能表示4位小数,但精度很高,能表示的最大范围:-922337203685477.5808 到 922337203685477.5807。
整数值可以使用十进制、二进制、十六进制等方式来表示。
使用十进制表示时,方法和平时大家生活中表示数字的方法一样,表示负数前面加个减号就行。
使用二进制表示时,以 &B 作为前缀,后面跟着一定数量的 0 和 1 即可,例如: &B1001。
使用十六进制表示时,以 &H 作为前缀,后面跟着一定数量的 0-9ABCDEF 即可,例如:&HFF。
也只是使用C语言的方式来表示十六进制整数,以 0x 作为前缀,例如:0xFF。
浮点数也就是小数,表示方法和平时大家生活中表示小数的方法一样,加小数点就可以了,也支持负数。
需要注意的是,浮点数都有最大精度限制,例如 Single 最多可以表示9位数字,Double最多可以表示15位……
因此 Single 和 Double 两种数据类型在进行计算时,不可避免的会出现精度损失,例如经典问题 0.1 + 0.2 不等于 0.3。
货币类型可以表示的小数点位数很有限(4位),但却可以保持非常高的精度,推荐使用。
文字类型在编程中一般称为字符串或文本,是可以表示一段文字的数据类型,例如生活中我们说的、写下来的一句话,都属于文字类型。
在果壳精灵中,最常使用的文字类型是 String,其他的文字类型只在涉及编码的情况下才需要使用,新手入门阶段不需要学习编码相关的知识,太绕了。
要表达一段文字,可以使用双引号将文字包起来,就像之前几篇教程里写的:
InputBox("显示的提示信息", "默认内容", "窗口标题")
这里 【 "显示的提示信息" 】、【 "默认内容" 】、【 "窗口标题" 】 都是文字类型的数据。
逻辑类型在按键中用 Boolean 来表示,它只有两个固定的值,true 和 false。
true 表示真、对的、成功、成立等正面状态。
false 表示假、错的、失败、不成立等发面状态。
逻辑类型是非白即黑,非黑即白的,多用于条件判断的时候使用。
例如你在行走的时候,会检查道路上是否有车,如果有车,就不会楞冲着过街了,这个有没有车,就是一个典型的逻辑数据判断。
这里的对象类型指的是COM对象,例如大漠插件,我们需要创建一个大漠对象出来才能调用它的命令。
对象类型在果壳精灵中用 Object 表示,它是一个抽象的概念,它的值可以理解为一堆数据或命令的集合,需要依靠成员属性或成员函数的方式来调用。
我们会在后续的教程里教大家创建和使用对象,理解对象需要一定的基本功,这里暂时略过。
我们生活中最长见到的数据,其实很少有单独存在的,例如一个人体的数据,往往由身高、体重、三围等组成的,一个纸箱往往由长、宽、高、重量等组成。
这就是复合数据,在编程中,一般我们称这种数据为【结构体】,意思是一堆数据组成的数据结构载体。
我们发现这些复合数据的结构体,往往也是由最基本的数据组成的,这也正迎合了大道至简的思想,我们对基础的数据类型有深刻的理解,才能更好的去理解复杂的数据。
关于结构体如何定义,我们会在之后的教程为大家展开,在这之前,就先把最基础的数据玩熟练玩透彻吧!