`
lixinye0123
  • 浏览: 333297 次
  • 性别: Icon_minigender_1
  • 来自: 温州
社区版块
存档分类
最新评论

1.9. 执行条件语句

阅读更多

1.9. 执行条件语句
问题
我要当满足某些条件时才执行一些命令
解决办法
使用 if 或 switch 语句
讨论
我们经常需要让代码去有选择性的执行,这时可以使用 ActionScript 中的条件语句 if, switch, 或 三元条件运算符 (? :).
条件语句允许我们做出逻辑判断,某种情况下应该做什么。if语句是最简单的判断语句,当我们遇到多个可能的情况要处理,这时用switch更好些。而三元条件运算符是把检测和赋值都放在一行中搞定,简化操作。
首先我们来看一下if 语句, if 语句以if关键字开头,接着跟一对括号,括号内为测试表达式,后面的大括号放入测试表达式成立时要执行的代码。
下面的代码检测 animalName 是否等于"turtle."
if (animalName == "turtle") {
  // 如果相等 trace(  ) 语句将被执行
  trace("Yay! 'Turtle' is the correct answer.");
}
另外还可以加上 else 子句来处理当测试表达式不满足时的情况,要注意的是要看到trace()输出的信息则必须让程序在debug模式下运行。我们把输出信息放到showMessage( ) 方法里,这样这个函数就可以被重用了
if (animalName == "turtle") {
  // 条件为真则执行
  showMessage("Yay! 'Turtle' is the correct answer.");
}
else {
  // 条件为假
  showMessage("Sorry, you got the question wrong.");  
}
还可以加入else if 子句,如果 if 条件为真则跳过 else if 子句,如果为假则继续判断 else if 字句是否为真
if (animalName == "turtle") {
  // 条件为真则执行
  showMessage ("Yay! 'Turtle' is the correct answer.");
}
else if (animalName == "dove") {
  //animalName == "dove"成立则执行
  showMessage ("Sorry, a dove is a bird, not a reptile.");
}
还可以包含更多的 else if 子句,然而这种情况,最好的办法就是采用 switch 语句代替,因为switch 与 if 语句结构更加清晰和简洁。 但在某些特殊场合,用 if 可以达到优化性能的目的。
switch 语句包含三部分:

switch 关键字
每个switch 语句都以switch 关键字开始

测试表达式
测试表达式被括号包围,它的结果将决定执行哪段代码。

switch 语句主体
主体中一般包含多个cases子句或一个default 子句

Case 表达式
case表达式将和 switch 表达式进行比较,如果相等就执行当前case的主代码。.

Case 主体y
当所有的case表达式都不等于switch表达式,将执行default主体。
switch (testExpression) {
  case caseExpression:
    // case body
  case caseExpression:
    // case body
  default:
    // case body
}

例子:
var animalName:String = "dove";

switch (animalName) {
  case "turtle":
    trace("Yay! 'Turtle' is the correct answer.");
  case "dove":
    trace("Sorry, a dove is a bird, not a reptile.");
  default:
    trace("Sorry, try again.");
}
一般情况下,在每个case主体最后都会加上 break 语句,这样执行完就会直接退出switch语句。

var animalName:String = "dove";
 
// 现在第2个case主体将被执行
switch (animalName) {
  case "turtle":
    trace("Yay! 'Turtle' is the correct answer.");
    break;
  case "dove":
    trace("Sorry, a dove is a bird, not a reptile.");
    break;
  default:
    trace("Sorry, try again.");
}
当有多个匹配但是执行代码是一样的,这时可以这么写:
switch (animalName) {
  case "turtle":
  case "alligator":
  case "iguana":
    trace("Yay! You named a reptile.");
    break;
  case "dove":
  case "pigeon":
  case "cardinal":
    trace("Sorry, you specified a bird, not a reptile.");
    break;
  default:
    trace("Sorry, try again.");
}
ActionScript 还支持三元条件运算符 (? :), 它把条件测试和赋值语句都放在一行完成。总共有3个操作数,第一个是条件表达式,如果为真,则取第二个操作数为结果,否则去第三个操作数为结果。
               varName = (conditional expression) ? valueIfTrue : valueIfFalse; 

分享到:
评论

相关推荐

    Pragmatic.rogramming.Ruby.1.9.and.2.0.4th.Edition.pdf

    1. **基本语法**:包括变量、常量、符号、数组、哈希等数据类型,以及流程控制(如条件语句和循环)。 2. **面向对象编程**:Ruby是纯面向对象的语言,书中会详细介绍类、模块、继承、方法、实例变量和类变量等概念...

    JS-ED_1.9

    JavaScript是一种基于原型的动态类型语言,包括变量声明(var, let, const)、数据类型(number, string, boolean, object, null, undefined)、操作符(算术、比较、逻辑、三元)、流程控制(条件语句、循环)、...

    Pragmatic.Programming.Ruby.1.9

    - **控制结构**:讲解循环、条件判断等控制流程语句。 - **正则表达式**:介绍Ruby中的正则表达式使用方法。 - **块和迭代器**:解释块的使用以及常见的迭代器操作。 - **文件读写**:展示如何在Ruby中进行文件输入...

    MySQLDBA运维笔记.pdf

    mysql 总结........................................................................................................................................6 1.1 数据库的种类.......................................

    微软 C#语言参考 CHM格式

    8.11 checked和unchecked语句... 159 8.12 lock语句... 159 9. 名称空间... 161 9.1 编译单元... 161 9.2 名称空间声明... 161 9.3 使用指示... 162 9.3.1 使用别名指示... 163 9.3.2 使用名称空间指示... 165 9.4 ...

    DBEditor.zip

    此外,DBEditor还具备执行简单SQL语句的功能,这包括: 1. **SELECT语句**:用于查询数据,可根据不同的条件筛选和组合数据。 2. **INSERT语句**:用于向数据库中插入新的记录。 3. **UPDATE语句**:用于更新现有...

    C#语言规范(4.0版本)

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    Programming Ruby 1.9 (3rd edition)和源码

    - 条件语句:`if`、`unless`、`case`等用于条件判断。 - 循环:`for`、`while`、`until`、`times`和`loop`等。 - 例外处理:`begin`、`rescue`、`ensure`用于异常处理。 5. **Ruby标准库**: - File系统操作:...

    微软C#语言规范,C#语言教程中文版

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C#_语言规范_4.0_中文版

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C#语言规范(2.0,3.0,4.0合集)

    1.9 接口 27 1.10 枚举 28 1.11 委托 29 1.12 特性 30 2. 词法结构 33 2.1 程序 33 2.2 文法 33 2.2.1 文法表示法 33 2.2.2 词法文法 34 2.2.3 句法文法 34 2.3 词法分析 34 2.3.1 行结束符 35 2.3.2 注释 35 2.3.3 ...

    C#语言参考(共285页)

    1.9 接口......................................30 1.10 代表....................................31 1.11 联合....................................32 1.12 名称空间和集合................32 1.13 版本...........

    C# 使用方法 入门教程

    2.5.1 条件语句..... 39 2.5.2 循环..... 43 2.5.3 跳转语句..... 46 2.6 枚举...... 47 2.7 数组...... 49 2.8 命名空间...... 50 2.8.1 using语句..... 51 2.8.2 命名空间的别名..... 52 2.9 Main()方法...... 53 ...

    c#3.0语言规范高清PDF

    1.5 语句 ............................................................................................................................................................. 8 1.6 类和对象 .....................

    db2数据库入门教程(官方中文版)

    1.9相关免费软件................................................................................................................17 1.9.1 IBM数据工作室(Data Studio)......................................

    08年6月份-福建省高中基础会考信息技术-模块《算法与程序设计》选择题.pdf

    1. 条件语句:`If...Then`用于执行条件判断。例如,`If A将变量A的值设置为B的值,如果A小于B。 2. 算法的基本概念:算法是解决问题的一系列有序步骤,有至少一个输出,并且步骤数量是有限的。选项C认为算法就是...

    db2数据库入门官方教程(中文版)

    1.9相关免费软件................................................................................................................17 1.9.1 IBM数据工作室(Data Studio)......................................

Global site tag (gtag.js) - Google Analytics