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
|
请发表评论