参考:Operators —— 运算符


01   Relational_Operators 比较运算符。
02   Mathematical_Operators 数学运算符。
03   Logical_Operators 逻辑运算符。
04   Bitwise_Operators 位运算符。
05   Matrix_Operators 矩阵运算符。 
06   Minimum_and_Maximum_Operators 最大最小操作符。
07   Operator_Precedence 运算符优先级。 
08   Assignment_and_Compound_Assignment 赋值和复合赋值。
09   Other_Operators 其他操作符。

序号 名称    

功能说明 & 语法 & 举例

01 Relational Operators

比较运算符。

 EQ  

等于,=,Equal to

 NE  

不等于 ≠,Not equal to

 GE  

大于等于,≥,Greater than or equal to

 GT  

大于,>,Greater than

 LE  

小于等于,≤,Less than or equal to

 LT
 

小于,<,Less than

 02 Mathematical Operators

数学运算符。

+  

加法,字符串连接

 ++  

自增

-  

减法,负号

 --  

自减

 *  

乘法

 /  

除法

 ^  

幂运算

 MOD  

模,取余数

   
IDL> PRINT, 'alex' + ' ' + 'lee'
alex lee IDL> 2^0.5
1.4142135 IDL> PRINT, 9 MOD 5
4
03 LogicalOperators

逻辑运算符。

 &&  

逻辑与,都真才真,非0的数字、非空的字符串等都认为是真

 ||  

逻辑或,有一个真就为真

 ~  

逻辑非,取反

   
IDL> PRINT, 5 && 7
1 IDL> PRINT, 4 && 0
0 IDL> PRINT, "" && "sun"
0 IDL> PRINT, "alex" && "sun"
1
04 BitwiseOperators

位运算符。

 AND  

按位与
用于判断奇偶数:奇数 AND 1 = 1、偶数 AND 1 = 0

 OR  

按位或

 NOT  

取反

 XOR  

按位异或
XOR 运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变

   
IDL> FOR I = 1,5 DO PRINT, I, I AND 1
1 1
2 0
3 1
4 0
5 1 IDL> FOR I = 1,5 DO PRINT, I, I OR 1
1 1
2 3
3 3
4 5
5 5
05 MatrixOperators

矩阵运算符。

 #  

A#B 表示 A 的列乘以 B 的行

 ##  

A##B 表示 A 的行乘以 B 的列

06
Minimum and Maximum Operators

最大最小操作符。

 <  

取最小的一个数。

 >  

取最大的一个数

   
IDL> 5 < 3
3 IDL> 5 < 3 < 4 < 6
3 IDL> 5 > 3
5 IDL> 5 > 3 > 4 > 6
6
07 Operator Precedence

运算符优先级。

 1级  

()
[]

 2级  

.
[]
()

3级

 

*
^
++
--

4级

 

*
#
##
/
MOD

5级

 

+
-
<
>
NOT
~

6级

 

EQ
NE
LE
LT
GE
GT

7级

 

AND
OR
XOR

8级

 

&&
||

9级

  ?:
   
IDL> i = 3
08 Assignment and Compound Assignment

赋值和复合赋值。

 =  

赋值

op=  

复合赋值
op 可以是下面操作符中的一个:##、#、*、+、-、/、<、>、^、AND、EQ、GE、GT、LE、LT、MOD、NE、OR、XOR

   
IDL> A = 5
IDL> A += 3
IDL> A
8
IDL> A -= 3
IDL> A
5
IDL> A <= 3
IDL> A
3
IDL> A *= 3
IDL> A
9
IDL> A <= 3
IDL> A
3
IDL> A /= 3
IDL> A
1
09 OtherOperators

其他操作符。

 []  

数组操作符

   
IDL> C = [0, 1, 3]
IDL> PRINT, C
0 1 3
IDL> PRINT, [C, 5]
0 1 3 5
IDL> PRINT, [-1, C]
-1 0 1 3
IDL> PRINT, [C, C]
0 1 3 0 1 3
IDL> PRINT, [[C], [C]]
0 1 3
0 1 3
[::]  

冒号运算符。
-----------------------------------------------------------------------------------------------
Result = [start: finish]
-----------------------------------------------------------------------------------------------
Result = [start: finish: increment]
-----------------------------------------------------------------------------------------------
? start:开始索引
? finish:结束索引
? increment:增量

   
IDL> A = INDGEN(8)
IDL> A
0 1 2 3 4 5 6 7
IDL> A[1:5]
1 2 3 4 5
IDL> A[0:7:2]
0 2 4 6
 ()  

控制运算的组表达式。

   
IDL> PRINT, 3 + 4 * 2 ^ 2 / 2
11
IDL> PRINT, (3 + (4 * 2) ^ 2 / 2)
35
 ?:  

条件表达式。
提供 IF...THEN...ELSE 的简答表达式。

   
IDL> A=6 & B=4
IDL> Z = (A GT B) ? A : B
IDL> PRINT, Z
6
IDL> Z = (A LT B) ? A : B
IDL> PRINT, Z
4
 .  

方法调用。

 ->  

方法调用。

         

【218】◀▶ IDL 操作符号说明的更多相关文章

  1. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  2. Mysql操作符号

    1.比较运算符:  =  相等  <> 不等于 != 这个也可以  >  大于  <  小于  >= 大于等于  <= 小于等于 2.逻辑运算符:  is null ...

  3. smarty 操作符号,大于、小于。。。

    eq相等,6 w% x7 w6 |3 _ne.neq不相等,( i" }" ~( `# V( t& C, k; [gt大于,lt小于,gte.ge大于等于,lte.le 小 ...

  4. C++ 第二课:操作符号的优先级

           优先级     操作符 1 () [] -> .   ::         ! ~ ++ -- 2 - (unary) * (dereference)   & (addre ...

  5. oozie调度sqoop脚本时操作符号替换

    oozie调度sqoop脚本时,sqoop中使用的sql查询语句,需要使用以下字符串替换操作符,否则会出现各种诡异的错误: //替换字符 < < Less than 小于 > > ...

  6. C语言的操作符号

    #include <iostream> int main(void) { int a = 100, b = 40; //理解++在前还后的区别: a = b++; //a = b ; b= ...

  7. 【170】◀▶ IDL 学习初体验-全

    IDL Reference 操作符号 数组 字符及字符串 结构体 指针 链表 & 哈希表 程序控制(循环.条件.跳转语句) 过程 & 函数 输入与输出 系统变量 文件系统操作 直接图形 ...

  8. c#操作MangoDB 之MangoDB CSharp Driver驱动详解

    序言 MangoDB CSharp Driver是c#操作mongodb的官方驱动. 官方Api文档:http://api.mongodb.org/csharp/2.2/html/R_Project_ ...

  9. linux shell字符串内置的常用操作(获取长度、查找、替换)

    在编写shell程序时,经常会涉及到字符串相关操作.有许多命令语句,如awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时 ...

随机推荐

  1. SpringMVC:走通一个SpringMVC

    我们现在使用SpringMVC来做一个小的用户管理系统,由于重点在学习SpringMVC,这里我们就不用数据库了. 该小系统实现的功能是:1.登录,不做用户名密码的正确性判断,任何用户名+密码都可以成 ...

  2. windows ffmpeg 推送摄像头数据到rtmp服务

    文本主要讲述windows系统下如何利用ffmpeg获取摄像机流并推送到rtmp服务,命令的用法前文 中有讲到过,这次是通过代码来实现.实现该项功能的基本流程如下: 图1 ffmpeg推流流程图 较前 ...

  3. 可空类型Nullable

    Nullable类型: 值类型变量默认为0,不可空,为了使它可空,出现了Nullable类型,类型前面加?  变为引用类型 值类型是没有null值的,比如int,DateTime,它们都有默认值.举个 ...

  4. kubernetes对象之Job

    系列目录 job是什么 对于ReplicaSet.ReplicationController等类型的控制器而言,它希望pod保持预期数目.持久运行下去,除非用户明确删除,否则这些对象一直存在,它们针对 ...

  5. Effective Java - [2. 创建与销毁对象]

    让对象的创建与销毁在掌控中. Item 1: 使用静态工厂方法而非使用构造函数 public static Boolean valueOf(boolean b) { return b ? Boolea ...

  6. 高性能MySQL(二)

    MySQL基准测试 为什么需要benchmark 验证基于系统的假设,确认是否符合实际情况 重现系统中的某些异常行为,以解决它们 测试系统当前的运行情况,如果不清楚当前性能,就无法确认优化效果 模拟比 ...

  7. EasyDarwin开源流媒体服务器高性能设计之无锁队列

    本文来自EasyDarwin团队Fantasy(fantasy(at)easydarwin.org) 一. EasyDarwin任务队列实现 EasyDarwin的任务队列是通过OSQueue类来组织 ...

  8. 那些让你代码思维和能力有较大的提升Java源码(转)

    对于学习J2EE的框架有很大的帮助,代码里使用了各种设计模式.事件机制.Java8语法.代码量也很小,web服务使用Netty作为支持,对HTTP/网络想研究的一定是你的必读品.目前在写 Blade- ...

  9. 阿里 JAVA 开发手册 学习 4 工程规约

    应用分层 1.分层如下 1)开放接口层:可以直接封装Service接口暴露成RPC:通过web封装成http接口:网关控制层等. 2)终端显示层:各个端的模板渲染并执行显示层. 3)Web层:主要是度 ...

  10. docker: docker安装和镜像下载

    1 安装docker的apt源 apt-get install apt-transport-https ca-certificates curl software-properties-common ...