参考:Statements Routines —— 控制语句关键字


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 FOR  

循环语句。
-----------------------------------------------------------------------------------------------
 FOR variable = init, limit [, Increment] DO statement 
-----------------------------------------------------------------------------------------------
 FOR variable = init, limit [, Increment] DO BEGIN 
    statements                                     
 ENDFOR                                           
-----------------------------------------------------------------------------------------------
◈ init:开始的数
◈ limit:结束的数
◈ Increment:增量值
◈ statement(s):循环语句内容

 
IDL> FOR i = 1, 10, 4 DO PRINT, i
1
5
9 FOR i = 1, 10, 4 DO BEGIN
PRINT, i
ENDFOR
 02 FOREACH  

循环语句。
-----------------------------------------------------------------------------------------------
 FOREACH Element, Variable [, Index] DO Statement 
-----------------------------------------------------------------------------------------------
 FOREACH Element, Variable [, Index] DO BEGIN 
    statements                                
 ENDFOREACH                  
-----------------------------------------------------------------------------------------------
? Element:每一个元素
◈ Variable:数组变量
◈ Index:元素的索引值
◈ Statement(s):循环语句内容

 
IDL> strs = ["alex", "bn", "lee"]
IDL> FOREACH e, strs, i DO PRINT, i, "--", e
0--alex
1--bn
2--lee strs = ["alex", "bn", "lee"]
FOREACH e, strs, i DO BEGIN
PRINT, i, "--", e
ENDFOREACH
03 WHILE...DO  

循环语句。
-----------------------------------------------------------------------------------------------
 WHILE expression DO statement 
-----------------------------------------------------------------------------------------------
 WHILE expression DO BEGIN 
    statements             
 ENDWHILE                  
-----------------------------------------------------------------------------------------------
◈ expression:判断表达式
◈ statement(s):循环语句

 
IDL> i = 3
IDL> WHILE(i gt 0) DO PRINT, i--
3
2
1 i = 3
WHILE(i gt 0) DO BEGIN
PRINT, i--
ENDWHILE
04 IF...THEN...ELSE  

选择语句
-----------------------------------------------------------------------------------------------
 IF
expression THEN statement 
-----------------------------------------------------------------------------------------------
 IF
expression THEN statement ELSE statement 
-----------------------------------------------------------------------------------------------
 IF
expression THEN BEGIN 
   statements             
 ENDIF                    
-----------------------------------------------------------------------------------------------
 IF
expression THEN BEGIN 
   statements             
 ENDIF ELSE BEGIN         
   statements             
 ENDELSE                  
-----------------------------------------------------------------------------------------------
◈ expression:判断表达式
◈ statement(s):语句内容

 
IDL> A = 2
IDL> B = 3
IDL> IF(A EQ 2) AND (B EQ 3) THEN PRINT, 'A = ', A, STRING(13B), 'B = ', B
A = 2
B = 3 IDL> A = 2
IDL> IF(A EQ 2) THEN PRINT, 'A = ', A ELSE PRINT, 'A ≠ ', A
A = 2 A = 2
B = 3
IF(A EQ 2) AND (B EQ 3) THEN BEGIN
PRINT, 'A = ', A
PRINT, 'B = ', B
ENDIF A = 2
IF(A EQ 2) THEN BEGIN
PRINT, 'A = ', A
ENDIF ELSE BEGIN
PRINT, 'A ≠ ', A
ENDELSE
05 CASE  

只执行符合条件的一个语句块。(多条语句需要使用 BEGIN...END)
------------------------------------------------------------
 CASE expression OF           
     expression: statement(s) 
     ...                      
     expression: statement(s) 
 ENDCASE                      
------------------------------------------------------------
 CASE
expression OF           
     expression: statement(s) 
     ...                      
     expression: statement(s) 
   ELSE: satement(s)          
 ENDCASE                      
------------------------------------------------------------
 CASE
expression OF           
     expression: statement(s) 
     ...                      
     expression: statement(s) 
   ELSE: BEGIN                
     satement(s)              
   END                        
 ENDCASE                      
------------------------------------------------------------
◈ expression:判断语句
◈ statement(s):执行语句

 
  x=1
CASE x OF
1: PRINT, 'one'
2: PRINT, 'two'
ENDCASE IDL Prints:
one x=2
CASE x OF
1: PRINT, 'one'
2: PRINT, 'two'
ELSE: PRINT, 'You entered: ', x
ENDCASE IDL Prints:
two x=3
CASE x OF
1: PRINT, 'one'
2: PRINT, 'two'
ELSE: BEGIN
PRINT, 'You entered: ', x
PRINT, 'Please enter a value between 1 and 2'
END
ENDCASE IDL Prints:
You entered: 3
Please enter a value between 1 and 2
06
SWITCH

执行符合条件后面的所有语句块。       
-----------------------------------------------------------------------------------------------
 SWITCH
expression OF         
     expression: statement(s) 
     ...                      
     expression: statement(s) 
 ENDSWITCH                    
-----------------------------------------------------------------------------------------------
 
SWITCH expression OF         
     expression: statement(s) 
     ...                      
     expression: statement(s) 
   ELSE: satement(s)          
 ENDSWITCH                    
-----------------------------------------------------------------------------------------------
 SWITCH
expression OF         
     expression: statement(s) 
     ...                      
     expression: statement(s) 
   ELSE: BEGIN                
     satement(s)              
   END                               
 ENDSWITCH                   

-----------------------------------------------------------------------------------------------
◈ expression:判断语句
◈ statement(s):执行语句

 
  x=1
SWITCH x OF
1: PRINT, 'one'
2: PRINT, 'two'
ENDSWITCH IDL Prints:
one
two x=2
SWITCH x OF
1: PRINT, 'one'
2: PRINT, 'two'
ELSE: PRINT, 'You entered: ', x
ENDSWITCH IDL Prints:
two
You entered: 2 x=2
SWITCH x OF
1: PRINT, 'one'
2: PRINT, 'two'
ELSE: BEGIN
PRINT, 'You entered: ', x
PRINT, 'Please enter a value between 1 and 2'
END
ENDSWITCH IDL Prints:
two
You entered: 2
Please enter a value between 1 and 2
07 REPEAT...UNTIL  

循环语句(与 WHILE...DO 语句类似)
-----------------------------------------------------------------------------------------------
REPEAT statement UNTIL expression
-----------------------------------------------------------------------------------------------
REPEAT BEGIN
   statements
ENDREP UNTIL expression
-----------------------------------------------------------------------------------------------
◈ statement(s):执行语句
◈ expression:判断语句

 
IDL> i = 3
IDL> REPEAT PRINT, i-- UNTIL(i lt 0)
3
2
1
0 i = 3
REPEAT BEGIN
PRINT, i--
ENDREP UNTIL(i lt 0)
08 BEGIN...END  

用于显示多条语句。
-----------------------------------------------------------------------------------------------
BEGIN
   statements
END | ENDIF | ENDELSE | ENDFOR | ENDFOREACH | ENDREP | ENDWHILE
-----------------------------------------------------------------------------------------------

 
  CASE name OF
'Moe': BEGIN
PRINT, 'Stooge'
END
ENDCASE SWITCH name OF
'Moe': BEGIN
PRINT, 'Stooge'
END
ENDSWITCH
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:
2
4
6
8
10
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:
Initial value: 0
Loop value: 1
Loop value: 2
Loop value: 3
Loop value: 4
END VALUE: 5
       

【217】◀▶ IDL 控制语句说明的更多相关文章

  1. Linux Shell 流程控制语句

    * 本文主要介绍一些Linux Shell 常用的流程控制语句* 1. if 条件语句:if-then/if-elif-fi/if- else-fi if [条件判断逻辑1];then command ...

  2. 使用变量 数据类型转换 逻辑控制语句(begin ...end; case...end; if...else; while)

    一:变量 变量分为局部变量和全局变量  (全局变量是系统自定的,是不可手动给值的,若想自己定义全局变量可考虑创建全局临时表!) 局部变量的定义:  declare @变量名  数据类型 (局部变量只能 ...

  3. Sql Server系列:数据控制语句

    数据控制语句用来设置.更改用户或角色的权限,包括GRANT.DENY.REVOKE等语句. GRANT用来对用户授予权限,REVOKE可用于删除已授权的权限,DENY用于防止主体通过GRANT获得特定 ...

  4. 8-04流程控制语句BEGIN ..END

     流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...

  5. javaScript条件控制语句

    当某段代码的执行,需要首先满足某些条件时,我们就需要用到条件控制语句.判断条件是否满足,满足条件才去执行某些代码. 如判断数组中值等于条件值时,将这个值从数组中删除 a.switch <scri ...

  6. JAVA 1.7 流程控制语句 续

    1. Java中的循环控制语句一共有3种,分别是while,do… while以及for循环.2. while循环,形式为:while(布尔表达式){//待执行的代码}3. do…while循环,新式 ...

  7. JAVA 1.6 流程控制语句

    1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...

  8. leetcode 217

    217. Contains Duplicate Given an array of integers, find if the array contains any duplicates. Your ...

  9. IDL中的HRESULT值

    IDL中的HRESULT值

随机推荐

  1. shell(3):文本处理、基本语法和脚本编写

    一.awk.变量.运算符.if多分支 awk:shell编辑器的一种文本处理工具/命令,同grep.sed一样均可解释正则.具体运用下面awk文本处理有详细说明. 变量:分为系统变量和临时变量.变量一 ...

  2. 兔子-svnserver,client搭建

    http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html

  3. 由于扩展配置问题而无法提供您请求的页面...请添加 MIME 映射.--解决方法

    http://blog.sina.com.cn/s/blog_4c78de680100quis.html HTTP 错误 404.3 - Not Found由于扩展配置问题而无法提供您请求的页面.如果 ...

  4. Django+uwsgi+nginx+angular.js项目部署

    这次部署的前后端分离的项目: 前端采用angular.js,后端采用Django(restframework),他俩之间主要以json数据作为交互 Django+uwsgi的配置可以参考我之前的博客: ...

  5. iperf3 测试路由器吞吐率

    mini newifi 电脑端: iperf3 -s 路由器: root@OpenWrt:/# iperf3 -c 10.10.10.3 -t 20 Connecting to host 10.10. ...

  6. Asp.Net Core 初探 (三)

    昨天失败的生产环境部署就先放着,明天再解决! 今天利用中午的空余时间看了一下Asp.net core 的Areas . 相对于Asp.net MVC5 以及之前的版本,asp.net core 的Ar ...

  7. 怎样退出App之前唤醒还有一个App?

    郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 SDK并没 ...

  8. windows快捷键大全(转载)

    常见用法: F1 显示当前程序或者windows的帮助内容. F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜 ...

  9. 图像处理之opencv---加减乘除运算cvdiv

    http://chyyeng.blog.163.com/blog/static/16918230201211632135456/

  10. 如果在 Code First 模式下使用,则使用 T4 模板为 Database First 和 Model First

    web.config里的链接字符串最好和app.config里相同,因为ef的链接字符串需要一些特殊的参数