Delphi 的运算符列表,运算符及优先级表格 good

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

posted @ 2015-08-29 19:51  findumars  Views(3266)  Comments(0Edit  收藏  举报