Object Pascal是一种强类型语言,对数据类型的定义、声明以及数据赋值和传递操作等有严格的语法规则Object Pascal的数据类型可以分为标准数据类型和高级数据类型,还支持自定义类型本节主要来学习标准数据类型,今天小编就来说说关于delphi有哪些数据类型?下面更多详细答案一起来看看吧!
delphi有哪些数据类型
2.Object Pascal 数据类型Object Pascal是一种强类型语言,对数据类型的定义、声明以及数据赋值和传递操作等有严格的语法规则。Object Pascal的数据类型可以分为标准数据类型和高级数据类型,还支持自定义类型。本节主要来学习标准数据类型。
标准数据类型:
- Integer 整型
- Real 浮点型
- Charactor 字符型
- String 字符串型
- Boolean 布尔型
高级数据类型:
- Enumerated 枚举型
- Subrange 子界类型
- Set 集合类型
- Array 数组类型
- Record 记录类型
- File 文件类型
- Class 类类型
- Class Reference 类引用类型
- Interface 接口类型
- Pointer 指针类型
- Procedural 过程类型
- Variant 可变类型
在数据类型中,整型、字符型、布尔型、枚举型和子界型称为顺序类型,其取值是一个有序的集合,每一个可能的取值都和顺序有关,也就是说其取值与某一整数相对应。
2.1数值型数据类型1.整数类型
Object Pascal中的整数类型:
类型名称 |
字长 |
类型 |
空间 |
ShortInt |
8位有符号整数 |
短整型 |
-128~127 |
Byte |
8位无符号整数 |
字节型 |
0~255 |
SmallInt |
16位有符号整数 |
小整型 |
-32768~32767 |
Word |
16位无符号整数 |
字型 |
0~65536 |
Integer |
32位有符号整数 |
整型 |
-2147483648~2147483647 |
Longword |
32位无符号整数 |
长字型 |
0~4294967295 |
Longint |
32位有符号整数 |
长整型 |
-2147483648~2147483647 |
Cardinal |
32位无符号整数 |
序数型 |
0~4294967295 |
Int64 |
64位有符号整数 |
64位整型 |
-2^63~2^63 |
在使用整数类型时,应尽量使用 Integer 和 Cardinal 数据类型,因为这两种数据类型可以最大限度地发挥 CPU 和 OS 的性能。
2.实数类型
Object Pascal中的实数类型:
类型名称 |
字长 |
类型 |
空间 |
有效位 |
Single |
4字节浮点数 |
单精度浮点数 |
±1.5*10^-39 ~ 3.4*10^38 |
7或8 |
Real |
6字节浮点数 |
实型 |
±5.0*10^-324 ~ 1.7*10^308 |
15或16 |
Double |
8字节浮点数 |
双精度浮点数 |
±5.0*10^-324 ~ 1.7*10^308 |
15或16 |
Extended |
10字节浮点数 |
扩展型 |
±3.6*10^-4951 ~ 1.1*10^4932 |
19或20 |
Currency |
64位货币值 |
货币型 |
-922337203685477.5808 ~922337203685477.5807 |
19或20 |
在Object Pascal中,Real类型和Double类型完全等价,Extended类型比Real类型的精度更高,但与其他平台的兼容性较差,所以尽量避免使用Extended类型。Currentcy类型是专门为处理货币值而设计的,该类型至少要有4位有效的小数位。
2.2字符型数据类型1.字符类型
字符类型是存储单个字符数据的数据类型,Object Pascal中的字符数据类型:
类型名称 |
类型 |
空间 |
取值范围 |
ANSIChar |
Ansi字符型 |
1 |
扩展ANSI字符集 |
WideChar |
宽字符型 |
2 |
Unicode字符集 |
Char |
字符型 |
1 |
扩展ANSI字符集 |
Char类型与AnsiChar类型完全等价;最常用的字符类型为Char类型。
2.字符串类型
字符串类型是存储字符串数据的数据类型,Object Pascal 中的字符串数据类型:
类型名称 |
类型 |
最大长度 |
内存空间 |
ShortString |
短字符串型 |
255 |
2 ~ 256B |
AnsiString |
长字符串型 |
2^31 |
4B ~ 2GB |
WideString |
宽字符串型 |
2^30 |
4B ~ 2GB |
String |
字符串型 |
2^31 |
4B ~ 2GB |
- ShortString类型与传统的Pascal的字符串对应,是为了向前兼容
- AnsiString类型的定义是动态分配的,以空字符Null作为字符串的结尾
- String类型既可以是ShortString类型,也可以是AnsiString类型,默认定义为AnsiString类型
- 在Delphi中很多组件的属性都是使用String类型
布尔型数据类型用于关系运算和条件语句的逻辑运算,Object Pascal中布尔型数据类型:
类型名称 |
类型 |
字节数 |
取值 |
Boolean |
布尔型 |
1 |
0(False)|1(True) |
ByteBool |
字节布尔型 |
1 |
0(False)|非0(True) |
WordBool |
宽布尔型 |
2 |
0(False)|非0(True) |
LongBool |
长布尔型 |
4 |
0(False)|非0(True) |
Boolean类型的取值为False和True两个符号常量,编程时应尽量使用Boolean类型;因为其他类型是为了兼容其他语言而设置的。
,