Object Pascal 基本数据类型

Object Pascal 基本数据类型


注:以下标红的表示最常用的数据类型

整数类型

类型大小
Integer有符号32位
Cardinal无符号32位
Shortint有符号8位
Smallint有符号16位
Longint有符号32位及以上,具体取决于编译器和平台
Byte无符号8位
Word有符号16位
LongWord有符号32位及以上,具体取决于编译器和平台

实数类型

类型大小
RealDelphi 中通常等同于 Double,表示双精度浮点数
Single单精度浮点数,精度较低但占用空间小
Extended扩展精度浮点数,精度高于 Double,但与其他平台的兼容性较差
Currency专门用于处理货币值的类型,保证至少4位有效小数位

字符类型

类型大小
Char标准的字符类型,存储单个字符,占用一个字节,与 AnsiChar 等同
AnsiChar主要存放 ANSI 字符,占用一个字节
WideChar主要存放 Unicode 字符,占用两个字节在 Delphi 7 中实现为 16 位

字符串类型

类型大小
String默认情况下String是AnsiString的别名
ShortString在0到255个字符之间
AnsiString它是动态分配的,长度没有限制
WideString用于存储Unicode字符,每个字符占用两个字节(在UTF-16编码下)

布尔类型

类型大小
Boolean标准的布尔类型,取值为 False 和 True
ByteBool1个字节
WordBool2个字节
LongBool4个字节

其他基本类型

  • Enumerated 枚举类型(定义一系列有序值的集合,元素一般从 0 开始连续索引)
  • Subrange 子界类型(也是定义了一系列有序值的集合,但子界的有序值必须是在别的有序类型中定义过的)

示例代码

	program BasicDataTypesDemo;  
  
type  
  TMyEnum = (FirstValue, SecondValue, ThirdValue);  
  TMySubrange = 1..100;  
  
var  
  i: Integer;  
  f: Real;  
  c: Char;  
  b: Boolean;  
  e: TMyEnum;  
  s: TMySubrange;  
  n: String;
  
begin  
  i := 10;  
  f := 3.14;  
  c := 'A';  
  b := True;  
  e := SecondValue;  
  s := 50;  
  n:= ’HelloWorld‘;
  
  // 在这里可以进行更多的操作,比如输出这些变量的值  
end.


Object Pascal 中的保留字


注:只列举了一部分

一、控制结构:

  1. ifthenelse:用于条件判断
  2. caseof:用于多分支选择
  3. fortodowntowhilerepeatuntil:用于循环控制

二、数据类型:

  1. integerrealcharstringboolean等:用于声明基本数据类型

三、声明和定义:

  1. var:用于声明变量
  2. const:用于声明常量
  3. type:用于定义新的数据类型
  4. classinterfaceobject:用于面向对象编程中的类、接口和对象声明

四、异常处理:

  1. tryexceptfinallyraise:用于异常处理

五、访问修饰符:

  1. publicprivateprotected:用于控制类或对象的成员访问权限

六、其他:

  1. procedurefunction:用于定义过程和函数
  2. beginend:用于定义代码块的开始和结束。
  3. asm:用于内嵌汇编语言代码。
  4. constructordestructor:用于类的构造和析构函数。


变量的声名


var 表示下面将定义一个或多个变量,多个以逗号分割

procedure 下声名的变量为局部变量

	procedure TMainForm.ShowProcessListButtonClick(Sender: TObject);
var
  resu,resu2: integer; 
begin
	// 作用域只在这部分
end;  

在单元 implementation 部分声名的变量是单元级变量

	procedure TMainForm.ShowProcessListButtonClick(Sender: TObject);
var
  resu: integer;
begin
	// 作用域只在这部分
end;  

implementation
var 
  resu: integer;
	// 作用域在之后都有效

interface 部分定义的变量是全局变量,其他引用该单元的单元也可以使用

interface
var
  resu: integer; 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值