| 分类 | 运算符 | 操作 | 操作数 | 结果类型 | 范例 |
|---|---|---|---|---|---|
| 算术运算符 | + | 加 | 整数,实数 | 整数,实数 | X + Y |
| - | 减 | 整数,实数 | 整数,实数 | Result - 1 | |
| * | 乘 | 整数,实数 | 整数,实数 | P * InterestRate | |
| / | 实数除 | 整数,实数 | 实数 | X / 2 | |
| div | 整数除 | 整数 | 整数 | Total div UnitSize | |
| mod | 取模 | 整数 | 整数 | Y mod 6 | |
| +(一元) | 符号等同 | 整数,实数 | 整数,实数 | +7 | |
| -(一元) | 符号相反 | 整数,实数 | 整数,实数 | -X | |
| 布尔运算符 | not | 否定 | 布尔型 | Boolean | not (C in MySet) |
| and | 与 | 布尔型 | Boolean | Done and (Total > 0) | |
| or | 或 | 布尔型 | Boolean | A or B | |
| xor | 异或 | 布尔型 | Boolean | A xor B | |
| 逻辑(按位)运算符 | not | 按位否定 | 整数 | 整数 | not X |
| and | 按位与 | 整数 | 整数 | X and Y | |
| or | 按位或 | 整数 | 整数 | X or Y | |
| xor | 按位异或 | 整数 | 整数 | X xor Y | |
| shl | 按位左移 | 整数 | 整数 | X shl 2 | |
| shr | 按位右移 | 整数 | 整数 | Y shr I | |
| 字符串运算符 | + | 连接 | 字符串、压缩串、字符 | 字符串 | S + '.' |
| 指针运算符 | + | 指针加 | 字符指针,整数 | 字符指针 | P + I |
| - | 指针减 | 字符指针,整数 | 字符指针,整数 | P - Q | |
| ^ | 指针解除参照 | 指针 | 指针的基类型 | P^ | |
| = | 相等 | 指针 | Boolean | P = Q | |
| <> | 不等 | 指针 | Boolean | P <> Q | |
| 集合运算符 | + | 并集 | 集合 | 集合 | Set1 + Set2 |
| - | 差集 | 集合 | 集合 | S – T | |
| * | 交集 | 集合 | 集合 | S * T | |
| <= | 子集 | 集合 | Boolean | Q <= MySet | |
| >= | 超集 | 集合 | Boolean | S1 >= S2 | |
| = | 相等 | 集合 | Boolean | S2 = MySet | |
| <> | 不等 | 集合 | Boolean | MySet <> S1 | |
| in | 成员 | 序数,集合 | Boolean | A in Set1 | |
| 关系运算符 | = | 相等 | 简单类型、类、类引用、接口、串、压缩串 | Boolean | I = Max |
| <> | 不等 | 简单类型、类、类引用、接口、串、压缩串 | Boolean | X <> Y | |
| < | 小于 | 简单类型、串、压缩串、PChar | Boolean | X < Y | |
| > | 大于 | 简单类型、串、压缩串、PChar | Boolean | Len > 0 | |
| <= | 小于或等于 | 简单类型、串、压缩串、PChar | Boolean | Cnt <= 1 | |
| >= | 大于或等于 | 简单类型、串、压缩串、PChar | Boolean | I >= 1 | |
| 类运算符 | as | 转换 | 类和类的实例 | ||
| is | 判断 | ||||
| = | 关系运算符 = 和 <> 也作用于类 | ||||
| <> | |||||
| 地址(@)运算符 | @X | 如果X是一个变量,那么@X返回X的地址。 当编译指示 {$T-} 有效时,@X是Pointer类型; 而在编译指示 {$T+} 状态下时,@X是 ^T 类型,这里的T是X的类型。 | |||
| @F | 如果 F 是一个例程(函数或过程),那么@F返回 F 的入口点,@F的类型总是Pointer。 | ||||
| @类中方法 |
当 @ 适用于定义在类中的方法时,方法标识符必需被类的名称限定。例如: @TMyClass.DoSomething | ||||
^:
^type 表示指向这种类型的指针
point^ 返回指针指向的变量的值
两个用法
概述:
^: 指针
@: 取址
#: 十进制符
$: 十六进制符
@:取址运算符;
var
int:integer;
p:^integer;
begin
new(P);
int:=24;
p:=@int;
dispose(P);
end;
^:指针的引用解析操作符;
var
pint:^integer;
begin
new(pint);
showmessage(inttohex(integer(@pint),8));
pint^:=$ff;
showmessage(inttohex(pint^,4));
end;
#:ASCII码值表示符;
const
tab_key=#9;//TAB键的ASCII值
符号 ^ 有两种用途,当它出现在类型标识符之前,如^typeName,表示一个类型,该类型表示指向typeName类型变量的指针;当它出现在指针变量之后,如pointer^,该符号对指针解除参照,也就是说,返回存储在内存地址(该地址保存在指针中)的值指针,指向的数据.
var
I: Integer;
PI: ^Integer;
begin
I := 10
PI := @I;;
PI^ := 20;
I := PI^;
end;
取指针的方法,比如y:=p^; 就是指为Y赋值指针P
本文深入探讨了信息技术领域的核心概念,包括算术运算符、布尔运算符、逻辑运算符、字符串运算符、指针运算符等,并通过具体示例阐述了它们的应用。此外,文章还介绍了集合运算符、关系运算符、类运算符、地址运算符等高级概念,旨在为开发者提供全面的技术指南。

1520

被折叠的 条评论
为什么被折叠?



