分支判断 - ActionScript 动作脚本一点通-第5课

本节课时长13分06秒,下载文件7.81兆字节。下载后用浏览器打开HTML文档可以观看讲解。

前面的两章分别讲解了编写程序的两最基本的方面——“数据”和“输入/输出”,除此之外,我们要知道程序的本质就是“对输入的数据进行处理,然后输出出来”。对数据的处理方法通常称为“算法”,也即是一定的运算规则。

计算机科学家已经通过精确的数学方法证明了一个结论——任何算法,都可以归结为三种最基本的程序控制结构:

  • 顺序结构
  • 分支结构
  • 循环结构

也就是说,目前的计算机中的所有程序,无论多么庞大和复杂,都是有着三种结构不断组合形成的。

前面几次课我们用到的都是“顺序结构”,也就是一个个语句依次执行。这节课中,我们要来认识第二种结构——分支结构。所谓分支结构,就是使程序可以根据不同的条件进行判断,进行不同的处理,从而得到不同的结果。

这里引入一个新的关键字——“if”。“if”翻译成中文就是“如果”,它在Action Script中用于引导条件语句。本节学习的,就是“if”语句的使用方法。

“if”是一个比较古老的语句,从Flash 4就已经开始使用了。在此先看看“if”的使用格式:


if (条件) {
执行的命令;
}

其中的“条件”决定了语句的选择。如果条件成立了,我们就说“条件为 true”,那么Flash就运行条件后面花括号内的语句。如果条件不成立,我们就说“条件为 false”,那么Flash 将跳过花括号内的语句,而运行花括号后面的语句。例如“如果不下雨,那么就出去郊游”,可以表示成:


if (不下雨) {
出去郊游();
}

使用“trace”语句可以查看结果。例如下面的这段代码,可以让我们了解“if”语句对条件判断的认知:


if (5 > 3) {
trace("5比3大");
}
if (6 == 6) {
trace("6等于6");
}
if (10 > 10) {
trace("10比10大");
}

测试结果,将会打印“5比3大”和“6等于6”,因为它们都是成立的条件。如果条件不成立,那么就不会执行打印了,因此”10比10大”这句话不会被打印。

在使用“if”语句进行判断的时候,编程人员往往希望在条件成立的时候执行某些操作,而在条件不成立的时候执行另一种操作,也就是所谓的“分支”。

如果只使用“if”语句,当然也可以实现分支,例如“如果下雨,那么睡觉;如果不下雨,那么可以逛街。”可以用伪代码这样表示:


if (下雨){
睡觉();
}

if (!下雨){
逛街();
}

上面的两个条件是对立的,也就是说“下雨”和“不下雨”两种情况,在任何时刻都有且只有一种情况发生。但是使用“if”语句,无法体现这一点。使用“else”语句可以实现程序的对立分支。“else”必须与“if”结合使用,格式如下:


if (条件){
语句1;
} else {
语句2;
}

“else”的意思就是“否则”,因此上面程序运行的结果,是当条件成立的时候,执行“语句1”的内容;当条件不成立的时候,执行“语句2”的内容。所以,前面下雨和不下雨的判断可以用伪代码写成:


if (下雨){
睡觉();
} else {
逛街();
}

可以看到,这样既简化了内容,又明确了条件之间的关系。

此外,还有其他一些更为深入的内容,请大家观看视频演示中的讲解。

6,447

欢迎您发表留言

(须填写)
(须填写,不公开)

请注意:这里输入的HTML代码会被屏蔽,如果需要讨论复杂的具体代码问题,请到我们的论坛发贴,谢谢!

6条留言