1.运算符
Delphi中的运算符主要有算术运算符、关系运算符、布尔运算符、位运算符等。
1.算术运算符
算术运算符有加、减、乘、除、整除和求余。
2.关系运算符
关系运算符用于对两个类型相容的量进行大小比较运算,运算结果为布尔类型。
3.布尔运算符
布尔运算符对布尔类型的操作数进行运算,结果为布尔型。布尔运算符有:and(与)、or(或)、not(非)、xor(异或)。
4.字符串运算符
Delphi只有一个字符串运算符“+”,表示连接运算符,用于将两个或多个字符串连接在一起形成一新的字符串。
5.位运算符
Delphi有6个位运算符。
例如,字节型变量a=5,b=6,对应的二进制数分别为:00000101和00000110,则有以下值:
not a的值为:11111010,即十进制中的250。
a and b的值为:00000100,即十进制中的4。
a shl 2的值为:00010100,即十进制中的20。
6.运算符的优先级
表达式中通常有多个运算符,在计算表达式的值时,优先级高的先运算,优先级低的后运算,优先级相同的按从左向右的顺序进行运算。各种运算符按优先级由高到低的顺序列出如下:
(1)圆括号()
(2)函数
(3)not
(4)*、/、div、mod、and、shl、shr
(5)+、-、or、xor
(6)=、<>、<、>、<=、>=、in
表达式:
表达式是用运算符和圆括号()将运算对象(满足该运算要求的数据)连接起来的符合语法规则的运算式子。
运算对象可以是常量、变量及函数,圆括号用于改变运算次序。
在Delphi中,根据表达式结果值的类型,可以将表达式分为4类:算术表达式、布尔表达式、字符串表达式和集合表达式等。
分类运算符操作操作数结果类型范例
算术运算符+ 加整数,实数整数,实数X + Y
- 减整数,实数整数,实数Result - 1
* 乘整数,实数整数,实数P * InterestRa te
/ 实数除整数,实数实数X / 2
div 整数除整数整数Total div Unit Size
mod 取模整数整数Y mod 6 +(一元) 符号等同整数,实数整数,实数+7
-(一元) 符号相反整数,实数整数,实数-X
布尔运算符not 否定布尔型Boolean
not (C in MyS
et)
and 与布尔型Boolean
Done and (Tot
al > 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
^
delphi trunc函数
指针解除
参照
指针指针的基类型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。
@类中
方法
当@ 适用于定

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。