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
