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
Delphi 的运算符列表,运算符及优先级表格 good的更多相关文章
- 003-Python3-基础语法-运行方式、代码基础要求、运算符[算数运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符]、运算符优先级
一.基础语法 参看地址:https://www.runoob.com/python3/python3-tutorial.html 1.1.运行方式 1.文件方式 编写一个hello.py文件, pri ...
- JavaScript中涉及得运算符以及运算符的优先级
在js中主要有三种运算符:算术运算符,逻辑与比较运算符,位运算符.在着三种运算符中,最常见的应该是算术与比较运算符,位运算符比较少见一些 *说到了运算符,就不得不说运算符的优先级.下面我来列一下这些运 ...
- C++语言运算符的功能、优先级和结合性
优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对象.成员名 -& ...
- smarty 运算符列表
下面是可用的运算符列表,使用中都会放到元素的中间并且用空格分隔. 注意列表中[方括号]的是可选的,而且还会列出对应PHP的表达式. 详见:Chapter 7. 内置函数 运算符 别名 语法示例 含义 ...
- (4)javascript的运算符以及运算符的优先级
运算符的使用方法 在javascript的程序中要完成各种各样的运算,是离不开运算符的. 在javascript中,按运算符类型可以分为 ...
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
- 【Python】2.19学习笔记 成员运算符,身份运算符,运算符优先级
成员运算符 暂时不会用,等学链表时再补充 \(in\) 与 \(not in\) \(in\):如果在指定序列中找到指定值,则返回\(true\) \(not in\):如果在指定序列中找到指定值,则 ...
- 031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级
031 01 Android 零基础入门 01 Java基础语法 03 Java运算符 11 运算符的优先级 本文知识点:Java中运算符的优先级 运算符的优先级问题 前面学习了很多的运算符,如果这些 ...
- js运算符 及 运算符优先级
「运算符」是用于实现赋值.比较和执行算数运算等功能的符号.常用运算符分类如下符号 算数运算符 递增和递减运算符 比较运算符 逻辑运算符 赋值运算符 算数运算符 运算符 描述 案例 + 加 10+20= ...
随机推荐
- [React + Mobx] Mobx and React intro: syncing the UI with the app state using observable and observer
Applications are driven by state. Many things, like the user interface, should always be consistent ...
- c++中返回对象与返回引用的区别
这几天在做用C++做课程设计,对其返回对象的实现感到迷惑. 通过对汇编代码的分析,可以清楚的看到,直接返回引用和返回对象的区别到底是什么. 分析的程序如下 #include<cstdio> ...
- Java基础知识强化之集合框架笔记17:List集合的特有的遍历功能
1. List集合的特有遍历功能: size()和 get()方法结合使用 2. 代码示例: package cn.itcast_03; import java.util.ArrayList; imp ...
- 利用jpedal进行pdf转换成jpeg,jpg,png,tiff,tif等格式的图片
项目中运用到pdf文件转换成image图片,开始时使用pdfbox开源库进行图片转换,但是转换出来的文件中含有部分乱码的情况.下面是pdfBox 的pdf转换图片的代码示例. try{ String ...
- iptables学习笔记
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3812510.html ...
- Linux 用户与用户组
1 Linux 用户与组 Linux是一个多用户多任务操作系统.多用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响. 1.1 Linux下用户的角色分类 Linux用户的角色分为3 ...
- isAssignableFrom与instanceof的区别
1.isAssignableFrom针对的是class对象: 2.instanceof是实例. isAssignableFrom是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的 ...
- JAVA学习笔记--二
一.抽象类: 访问修饰符 abstract class 类名{ } 抽象类和普通类的区别: 1. 抽象类不能被实例化 2. 抽象类一般含有抽象方法 抽象方法:在抽象类中只有方法签名(方法声明),没有方 ...
- c读mysql产生乱码问题
在编写接口API时,发现中文字utf8输入的在linux下采用c读取显示为”??”问号,这是由于编码造成的. 很简单的两个地方做修改就搞定. 1.先找到mysql的my.cnf配置文件/etc/my. ...
- 测试Kettle在增量更新的时候是否支持级联——不支持(基于mysql)
由于LZ很像整理一下如何使用Kettle对一张表进行增量更新的时候, 同时实现对数据库中的其他表也可以实现相关的更新操作. 第一种方法想使用触发器,即在相应的hop之间添加SQL脚本step然后在st ...