通过前两篇文章对ActionScript 3.0的开发环境和语法基础的介绍,相信已对ActionScript 3.0的编程有了个初步的认识。从本文开始,将逐步的对ActionScript 3.0的语法等各方面进行介绍,在程序的流程控制算是语法的核心内容,本文就将以流程控制为主线展开介绍ActionScript 3.0的流程控制语法。

我们为什么需要流程控制?众所周知,程序的执行都是一行接一行、自上而下地进行,不遗漏任何代码。如果所有的应用程序都这样执行,那我们能做的工作就很有限了。如果我们需要进行有条件的执行或是循环的执行相同的代码又该怎么办呢?显然自上而下地进行执行代码满足不了需求,我们需要一种新的“武器”,可以让代码有选择性的执行,那便是流程控制语句,如其他大多数编程语言一样,在ActionScript 3.0中的流程控制主要有两种方式:分支和循环。

一、分支语句

所谓“分支”,就是有条件地执行代码。条件取决于表达式的计算结果。

分支是控制下一步要执行哪些代码的过程。要跳转到哪行代码由某个条件控制语句来控制,这个条件语句使用布尔逻辑(boolean:true & falsh),对测试值和一个或多个可能的值进行比较。

在ActionScript 3.0中的分支语句主要有三种:三元运算符、if语句以及switch语句。下面逐个介绍这些分支语句。

1、三元运算符

要说进行比较,最简单的莫过于三元运算符。语法格式如下:

语法格式:<表达式>?<表达式成立的返回值>:<表达式不成立的返回值>,详细见下面程序示例:

1    var result:String;   //定义一个字符串变量(变量定义详细见上一篇文章)
2    var n:int = 2;
3                 
4    result = n > 0 ? "大于0 ":" 小于或等于0";
5                 
6    trace(result);

三元运算符比较适合简单的判断赋值运算,不适合于根据条件比较结果然后执行大量程序代码的情况,此时应该使用if语句。
      注:上面程序中的trace()方法的作用,见文章末尾总结。

2、if语句

条件语句允许我们做出逻辑判断,满足条件应该做什么?不满足条件又应该做什么?if条件语句则是用得最多的一种,功能也比较多、比较强。与前面的三元运算符相比,不同的是if语句没有结果,if是为了有条件的执行其他语句。如下:

1     var a:String = txtA.text;  //取出文本框txtA的值
2     var b:String = txtB.text;  //取出文本框txtB的值
3     if(a == b) {
4         Alert.show("两个数相等");    
5     } else {
6         Alert.show("两个数不相等");
7     }

我相信看这样的文章的朋友都是有一定的编程基础的,所以文中示例程序我就不做过多的解释,可以说ActionScript3.0的if,switch语句的语法和C#/Java的语法是一样的。有if那肯定少不了与else的配合使用,如上面示例程序片段。

注:上面程序中的Alert.show()方法,见文章末尾总结。

OK,到这里我们已经学会了if--else的用法了,满足条件执行if后面的程序块,不满足条件则执行else后面的代码块,这是简单的条件判断。如果我们要使用if来判断更多的条件呢?此时我们可以使用if语句的另一种用法:if--else if---else if.

1     var d:int = int(txtNumber.text);
2     if(d == 0) {
3         Alert.show("你输入的数" + d + "等于0");
4     } else if(d > 0) {
5         Alert.show("你输入的数" + d + "大于0");
6     } else if(d < 0) {
7     Alert.show("你输入的数" + d + "小于0");

ActionScript 3.0下,if语句的使用和C#/Java几乎没有差别,这里我就不用过多介绍。 如大多数编程开发语言一样,针对多条件判断的分支处理ActionScript也提供了比较好的方案,既switch。

3、switch语句

switch语句非常类似于if语句,因为它也是根据条件来选择性的执行某段程序代码块。不同的是switch可以一次将测试值与多个值进行比较判断,而不是只测试一个判断条件,如同if--else if--else if语句一样。如下代码片段:

 1      var number:int = int(txtE.text);
 2      var result:String;
 3 
 4      switch(number) {
 5          case 1:result="星期一";break;
 6          case 2:result="星期二";break;
 7          case 3:result="星期三";break;
 8          case 4:result="星期四";break;
 9          case 5:result="星期五";break;
10          case 6:result="星期六";break;
11          case 7:result="星期日";break;
12      }
13 
14      Alert.show(result);

关于ActionScript 3.0中的if、switch语句就介绍这些,详细请大家查阅相关资料和数据。

二、循环语句

所谓“循环”,就是重复的执行相同的语句。重复执行一定的次数,或者在不满足循环条件后自动终止循环。说到循环语句,我相信大家都对他是在熟悉不过了,无外乎就是do、while、for、foreach。在ActionScript 3.0中也是如此。

关于循环我也不想废话太多,其实只需要弄清不同循环之间的区别和特性就OK了。它们有的适合在循环次数确定的时候使用(如:for循环语句),有的则适合在循环次数不确定的时候使用(如:while语句),而有的无论如何也需要执行一次循环体(如:do--while循环语句)。如下代码片段:

 1     //do--while循环语句
 2     var i:int = 10;
 3     var sum:int = 0;
 4     do {
 5         sum += i;
 6         i--;
 7     } while(i!=0);
 8     Alert.show(sum.toString());
 9 
10     //while循环语句
11     var i:int = 10;
12     var sum:int = 0;
13     while(i != 0) {
14         sum += i;
15         i--;
16     }
17     Alert.show(sum.toString());
18 
19     //for循环语句
20     var sum:int = 0;
21     for (var i:int = 1; i <= 10; i++) {
22         sum += i;
23     }
24     Alert.show(sum.toString());

除了上面这几种循环语句的使用方式外,在ActionScript 3.0中对于for循环来说还有另外两种使用方式,他们分别是for--in和for each语句。使用都很简单,如下代码示例:

 1     var employee:Object = new Object();
 2     employee.Name="Beniao";
 3     employee.Sex="男";
 4     employee.Email="beniao123@163.com";
 5     employee.Address="中国·重庆";
 6     
 7     var temp:String = ""; 
 8     for(var emp:String in employee) {
 9         temp += employee[emp] + "\n";
10     }
11     Alert.show(temp);

下面是for each()循环语句的使用方式:

1     var books:Array = new Array("IBM", "APPLE", "SUN","ADOBE");
2     for each(var s:String in books) {
3         Alert.show(s);
4     }

在ActionScript 3.0中使用循环语句,用样可以使用continue,break来跳出循环,使用上和C#/Java是一样的,这里就不在多作介绍。

三、本文总结
     通过阅读本文,能够掌握的ActionScript 3.0的知识点如下:

1、三元运算符:执行简单的判断运算

2、if语句:执行有条件选择性的判断运算

3、switch语句:执行有条件选择性的判断运算

4、for/for in/for each:执行循环处理

5、trace()方法:ActionScript 3.0所提供的方法,用语调试程序。类似于C#的Console.Write().

6、Alert.Show():ActionScript 3.0所提供的方法,功能就是实现弹出一个对话框。

四、推荐文章
     1、Flash ActionScript流程控制语法详解

2、速战速决Flash ActionScript 3.0(1) - 数据类型、操作符和流程控制语句
 
      本文示例代码下载

转自:http://www.cnblogs.com/beniao/archive/2008/12/22/1359231.html

转载于:https://www.cnblogs.com/qiantuwuliang/archive/2010/04/06/1705197.html

ActionScript 3.0 Step By Step系列(三):学学流程控制,编编if-else switch while for相关推荐

  1. View系列 (三) — Measure 流程详解

    Measure 流程详解 一.概述 二.单一 View 的测量流程 1. 流程图 2. 源码分析 三.ViewGroup 的测量流程 1. 流程图 2. 源码分析 一.概述 测量过程分为 View的m ...

  2. Kotlin实战指南三:流程控制

    转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/87855797 本文出自[赵彦军的博客] Kotlin初体验三:流程控制 if 表 ...

  3. java个十百千万位余数_1 Java第三课[流程控制]

    1 Java第三课[流程控制] 1.1 回顾: 1. 标识符的命名:标识符通常意义上是指 类名,包名,方法名,属性名,普通变量等等. 2. 类命名:每个单词的首字母大写; 3. 变量命名规则:字母数字 ...

  4. Java学习之路 第三章 流程控制

    第三章 流程控制 1.if条件语句 (1)简单的if条件语句语法: if(条件){语句: } 注意:a.条件必须最后返回一个布尔值. (2)嵌套if语句语法: if(条件1){if(条件2){...} ...

  5. JavaScript 系列四:流程控制

    快来加入我们吧! "小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章.为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( https://xhs-rookies.c ...

  6. python入门基础三之流程控制

    流程控制(if while for) 一.if 为什么要有if判断 判断事物的对错,真假,是否可行 想让计算机像人一样去工作,那么计算机也应该有对事物的对错,真假,是否可行的判断能力 从而做出不同的响 ...

  7. java第五章循环结构总结_Java理论学习三分钟-流程控制之循环结构(3)

    一.循环结构概念引入 在生活中会出现这样的编写程序,计算1+2+3+--+100的值 int a1=1; int a2=2; int a3=3; -- int a100=100; a100=a1+a2 ...

  8. UE4蓝图学习篇(三)---流程控制之Branch

    在使用蓝图的时候,我们会需要使用一种流程,将逻辑一步一步的运行,在流程控制中有很多的节点,接下来给大家介绍分支Branch. 分支就是通过检查某个值,然后根据结果来判断该执行两个处理中的哪一个,即所谓 ...

  9. excel的宏与VBA入门(三)——流程控制

    一.条件控制IF if 逻辑表达式 then语句块 end if 带else的if语句: If 逻辑表达式1 Then 语句块1ElseIf 逻辑表达式2 Then 语句块2ElseIf 逻辑表达式3 ...

最新文章

  1. 获取指定日期之间的各个周和月
  2. 基于 OpenCV 的图像分割项目实战
  3. java.lang.VerifyError解决方案
  4. ubuntu20.04的xfce4下面安装百度输入法linux版本
  5. js(Dom+Bom)第七天(2)
  6. Sping5——响应式编程
  7. 黑苹果2k屏_一加手机屏幕新特性:120Hz、2K+ OLED、10bit
  8. python中嵌套函数的应用实例-实例详解python函数的对象、函数嵌套、名称空间和作用域...
  9. 计算机 教育 初中 论文范文1000字,初中作文1000字
  10. 初学者一些常用的SQL语句(一)
  11. 配置nessus服务在kali中开机自启动
  12. Semantic Role Labeling (SRL)
  13. 最好用的屏幕录像软件录制教程分享
  14. 从 DOM 中移除一个元素
  15. 一台微型计算机字长为4个字节,若一台计算机的字长为4个字节,则表明该计算机()。...
  16. 怎么更换当前电脑的ip(ip被网站封了无法访问怎么办)
  17. 读取xlsx的sheet
  18. CSharpSCADA - 工控网关, 轻量级组态软件.
  19. 全球最易受黑客攻击的国家:中国排第五
  20. RxJava简单使用

热门文章

  1. jQuery ajax的traditional参数的作用
  2. switch case 判断是否为按钮、设置属性 Load Foreach 绑定事件
  3. Java SE 6 新特性: Java DB 和 JDBC 4.0
  4. PMCAFF微课堂「已结束」 | 阿里资深运营揭秘电商运营与纯互联网运营的区别与互通
  5. 干货笔记|三分钟让你掌握360高级副总裁的产品之道
  6. #react-native BUG#
  7. find_in_set()和in()比较
  8. Koa与Node.js开发实战(1)——Koa安装搭建(视频演示)
  9. 开源大数据周刊-第15期
  10. SQL SERVER 使用 OPENRORWSET(BULK)函数将txt文件中的数据批量插入表中(2)