Delphi 的運算符列表

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運算符)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章