参考: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. libpcre.so.0 被删除怎么办?

    删除  #rpm -e --nodeps pcre-6.6-1.1 1> wget   http://mirror.centos.org/centos/6/os/i386/Packages/pc ...

  2. MOS管驱动详解

    1.常用的几种电平转换方案 2.三极管的电平转换及驱动电路分析 3.三级管老怀 4.关于MOSFET管驱动电路总结 5.一个IIC的5V和3.3V电平转换的经典电路分享 6.mos 7.mos应用 8 ...

  3. JAVA sql语句动态参数问题

    对sql语句设置动态参数 import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverMan ...

  4. ecshop购买记录(近期成交数量)显示历史记录

    默认只显示最近30天内的销售记录, 按照下面方法修改 就可以显示所有的了 打开 /includes/lib_insert.php 文件 找到下面代码,将之删除即可,一共有两处,都要删除. AND ' ...

  5. RDLC报表 报表数据 栏 快捷键

    血淋淋的教训啊,这段时间用RDLC报表,创建报表后会在右边加载[服务器资源管理器][工具栏][报表数据]一些栏目 如图 [服务器资源管理器][工具栏]还好[报表数据]栏在开发的时候不小心点了X给关掉了 ...

  6. VS重置命令:devenv.exe/resetuserdata

    VS命令行下执行下面的命令: devenv.exe/resetuserdata

  7. 使用kbmmw 的调度事件动态显示时间

    kbmmw 里面提供了强大的事件调度功能,今天简单演示一个使用调度事件在窗体上显示时间. 建立一个新工程. 放上几个控件 在窗体里面引用单元 kbmMWScheduler, 然后添加过程 unit U ...

  8. 2017NOIP游记 (格式有点炸)

    NOIP游记 作者:一只小蒟蒻 时间可真快呀!还记得我第一次接触信息竞赛时,hello world都要调好久,不知不觉就考完了2017noip,自我感觉良好(虽然还是有很多不足). 这两个月的闭关,让 ...

  9. smod包含具体的增强(具体实施对象) / CMOD 包含一组smod编写的增强

    从标题来看,CMOD 是树木,smod 是树枝. 1.1 SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强. 1.2 User exits (Function module exits) ...

  10. 自定义fragmentlayout

    一.抽取视图文件,实例化需要在xml文件中 先上效果图: 1.  编写 xml布局文件 <?xml version="1.0" encoding="utf-8&qu ...