Delphi 的运算符列表
分类 |
运算符 |
操作 |
操作数 |
结果类型 |
范例 |
---|---|---|---|---|---|
算术运算符 |
+ |
加 |
整数,实数 |
整数,实数 |
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 |
Delphi 运算符及优先级
单目运算符 (最高优先级) | |
---|---|
@ | 取变量或函数的地址(返回一个指针) |
not | 逻辑取反或按位取反 |
乘除及按位运算符 | |
* | 相乘或集合交集 |
/ | 浮点相除 |
div | 整数相除 |
mod | 取模 (整数相除的余数) |
as | 程序运行阶段类型转换 (RTTI运算符) |
and | 逻辑或按位求和 |
shl | 按位左移 |
shr | 按位右移 |
加减运算符 | |
+ | 相加、集合并集、字符串连接或指针增加一个偏移量 |
- | 相减、集合差集或指针减少一个偏移量 |
or | 逻辑或按位或运算 |
xor | 逻辑或按位异或运算 |
关系及比较运算符(最低优先级) | |
= | 判断是否相等 |
<> | 判断是否不相等 |
< | 判断是否小于 |
> | 判断是否大于 |
<= | 判断是否小于或等于,或是否是一个集合的子集 |
>= | 判断是否大于或等于,或是否是一个集合的父集 |
in | 判断是否是集合成员 |
is | 判断对象是否类型兼容 (又一个RTTI运算符) |
参考:http://blog.csdn.net/sforiz/article/details/6680690