01 | FOR | 循环语句。 | |
02 | FOREACH | 循环语句。 | |
03 | WHILE...DO | 循环语句。 | |
04 | IF...THEN...ELSE | 选择语句。 | |
05 | CASE | 只执行符合条件的一个语句块。 | |
06 | SWITCH | 执行符合条件后面的所有语句块。 | |
07 | REPEAT...UNTIL | 循环语句。 | |
08 | BEGIN...END | 用于显示多条语句。 | |
09 | CONTINUE | 执行循环语句中的下一条循环。 | |
10 | BREAK | 从循环、CASE 或 SWITCH 语句中跳出。 |
序号 | 名称 |
功能说明 & 语法 & 举例 |
|||||
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 |
||||||
CASE name OF ------------------------------------------------------------ SWITCH name OF |
|||||||
09 | CONTINUE |
执行FOR、WHILE 或 REPEAT 循环语句中下一条循环。 |
|||||
FOR I = 1,10 DO BEGIN ; If odd, start next iteration: IF (I AND 1) THEN CONTINUE PRINT, I ENDFOR IDL Prints: |
|||||||
10 | BREAK |
从 FOR、WHILE、REPEAT 循环、CASE 或 SWITCH 语句中跳出。 |
|||||
i = 0 PRINT, ‘Initial value: ‘, i WHILE (1) DO BEGIN i = i + 1 IF (i eq 5) THEN BREAK PRINT, ‘Loop value: ‘, i ENDWHILE PRINT, ‘END VALUE: ‘, i IDL Prints: |
时间: 2024-10-27 09:07:18