免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享

第五课 条件语句(判断语句)

本文来自:★flash之路-flash技术交流★ 转帖请注明出处! 作者:网雨霏霏 您是第4287个浏览者

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
flashroad友情提示:
“点评”不是“回帖”!
【前言】


编程中非常频繁的用到判断:当满足某一个条件的时候,就执行某一个操作
flash内的判断语句有两个,一是if  一是switch

【一、if 语句
1、只有一个if的语句

(1)if 语句的写法:if(参数){
//这里写代码
}
(2)说明:
如果怎么样,就做些什么事。可以把if理解为如果
if后面括号中的参数一般情况是一个表达式(表达式的具体内容在不同的场合是完全不一样的,但是他们的形式却是一样的:都是使用数学运算符进行运算。详情参见本话附录1)
表达式经过运算后的值只有两个:真与假
若为真,则执行{ }里的命令。若为假,则跳过整个if语句继续往下执行代码
(3)例句:
var a=3; //定义一个变量a,并赋值为3
if(a<5){
trace("a小于5");
}
本例中,由于a的值是3,满足条件表达式a<5   则,条件表达式 的返回值是,故而执行{}内的语句。会输出a小于5


2、加上else之后变成的if…else语句


(1)if  else语句的格式:


if(条件表达式){
//要执行的语句
} else {
//要执行的语句
}
(2)说明:

如果怎样就执行if后面的语句,如果不是这样就执行else后面的语句。
(3)例句:                           
var a=9;
var b=12;
if(a<b){
trace("a小于b");
} else {
trace("a大于等于b");
}  

      首先给a、b分别赋值。然后进行条件判断。 如果a小于b那么就输出:"a小于b"。否则,就输出:"a大于等于b"。测试影片,我们可以看到a小于b

(4)if else拓展:

if…else 可以多次重复使用。形如下面的形式:

if(A){
B
}
else if(C){
D
}
else if(E){
F
}
.....
else{
G
}

if ...else if这个语句可以测试多个条件。这样理解这个语句:如果怎样就干点什么,又如果怎样,又干点什么,再如果怎样…。
举例说明:
var  a =9;
var b=12;
if(a<b){
trace("a小于b");
}
else if("a==b"){
trace("a等于b");
} else if(a>b){
trace("a大于b");
}

  
    该例用来判断ab的大小关系:    如果a小于b那么输出:"a小于b";        如果a等于b那么输出:"a等于b";        如果a大于b那么输出:"a大于b"。
由于ab的初始值已经界定,所以测试影片的时候,输出是a小于b

   
   
【二、switch语句
上面提到有要检测多个条件的情况,可以用多个else if。但是,代码阅读起来就超级费劲。我们可以使用switch语句来实现。

switch语句的逻辑性很强,非常方便阅读理解。推荐使用
1、switch的书写格式:

switch(表达式){
case n1:
要执行的语句
break;


case n2:
要执行的语句
break;

case n3:
要执行的语句
break;

default:
要执行的语句
}


(1)说明
   
switch语句就是将n1 n2 n3 .....这些表达式的值  和 switch后面紧跟的小括号内表达式的值  来进行比对。如果等于后者,就执行该case后面的语句


程序执行时会从第一个case开始检查。如果第一个case后表达式的值n1是switch括号中表达式的值,那么就执行此case后面的语句;如果不是switch括号中表达式的值,那么,就跳到第二个case检查。
以此类推,直到找到与switch括号中表达式的值相等的case语句为止,并执行该case后面的语句。
每一句case后面都有一句breake;这是跳出switch语句的意思。即当找到相符的case,并执行相应的语句后,程序跳出switch语句,不再往下检测。以免发生落空的错误。
可能会有这样的情况,所有的case语句后的值都与表达式的值不相符,那么就应该用default语句,这时程序就会执行default 后的语句。当然,如果你确定不会出现这种情况,那么可以不要default语句。

(2)例句:
var  a=7;
var  b=2;
var  c=a+b;
switch(c){
case 5:
trace("小了");
breake;
case 12:
trace("大了");
breake;
case 9:
trace("对了");
breake;
} //测试影片,输出句对了


var  a=7;
var  b=2;
switch(a+b){
case 5:
trace("小了");
breake;
case 12:
trace("大了");
breake;
case 8:
trace("还是小了");
breake;
default:
trace("都没算对");
}    //测试影片输出为:都没算对


  
综上所述,多个else if构成的条件判断和switch并不是完全一样的效果:多个else if可以限定范围,switch只能给出具体的数值



您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.

友情提示:单击下列任意一个表情,即可瞬间自动回复本帖!

好贴......
郁闷......
开心......
擦汗......
鄙视......
狂怒
谢谢
爱你呦
拜托了
嗯嗯
OMG
求关注
伤心......
无奈.....
无奈.....
无奈.....
无奈.....
无奈.....
哈哈哈
NO
OK
what
我来了

最近访问本帖者列表:

打赏

取消

感谢您的支持,我会继续努力的!

扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

Powered by 爱秀代码,分享从这里开始,精彩与您同在

点评
B Color Smilies

您还可以输入:个字符
X

X

【三、逻辑运算符】
         逻辑运算符在运算符那一节没有介绍,是因为它多半用在条件语句中,所以我们在这一节介绍。
        在上面的条件表达式中,都是单一的条件,比如是否大于是否小于....
实际上我们经常都可能用到复合条件,比如大小多少并且小于多少,大于多少或者小于多少.....。
在这样的复合条件语句中,有两个词:并且或者,它们的符号分别是: &&
||
关于两者的区别,在本系列教程的第11话附录2有阐述,大家到那里看看即可。这里我们再举几个例子看看:

var a=7;
if((a>5)&&(a<10)){
trace("正确");
}

因为a=7的确即大于5又小于10,条件为真。测试影片,将输出"正确"。

var a=7;
if((a>5)&&(a>10)){
trace("正确");
}

测试影片,没有输出。说明 trace("正确");这句没执行。因为a>5成立,而a>10不成立,两个条件只有一个为真,整个条件则为假。


var a=7;
if((a>5)||(a>10)){
trace("正确");
}


这个例子用的是||语句,只要有一个条件为真,整个条件表达式为真,测试影片,将输出"正确"。


【四、练习:猜数游戏】


下面我们来做一个练习,将上一节运算符的知识及本节的条件语句知识进行综合应用。

1、游戏说明:
        游戏是由程序产生一个0~100之间的随机数,然后由用户来猜。程序根据用户猜的数与所产生的随机数进行比较。根据比较结果,给用户提示,直到用户猜中为止,并记录用户所猜次数。

2、知识补充:
        为完成这个练习,我们先介绍一个函数random() 这个函数将产生一个由0到括号中的数减1的整数。
如: a=random(50);
那么a的值为0到49之间的某一个随机生成的整数。

3、具体操作步骤:
①新建一个flash文档,使用用文本工具(属性面板中设置文本框为静态文本)在舞台的上半部居中画一个文本框。在里面输入游戏说明:请猜一个0~100之间的数字:
②在这个文本框的下边,再画一个文本框(属性面板中设置文本框为动态文本),在变量框中输入c,这样变量c就代表这个文本框的内容(我们在编写AS代码的时候,就可以用c来读取或设置这个动态文本框的内容)。

③在动态文本框的下面,再画一个文本框(属性面板中设置文本框为输入文本,并设置在文本周围显示边框)。在变量框中输入s。【输入文本框是在运行时,用户可以在其中输入内容的】  




  动态文本和输入文本的在属性面板中有一个“自动调整字距”。务必将它前面的对号去掉。否则程序运行时没有任何效果,切记!



④下面新建两个按钮:
a、按Ctrl+F8键,新建一个“按钮”元件,“确定”后系统会自动进入它的后台。然后会看到按钮的时间轴。单击工具箱中的矩形工具【边框为无色,填充任意】,在舞台上绘制一个矩形,按Ctrl+K键打开对齐面板,设置其位置在舞台的中央。然后单击时间轴的第一帧选中之,松开鼠标后会发现鼠标的外观发生改变,此时单击并拖动鼠标,将第一帧直接拖到第四帧,松开鼠标即可绘制一个完全透明的按钮
b、回到主场景,使用文本工具(属性中设置为静态文本)绘制两个文本,一个为“确定”,另一个为“重猜”。
c、新建一个图层,命名为“按钮”,从库中将制作好的透明按钮分别拖出来,放置到“确定”,“重猜”上。这样一来,这两个文本框就可以当做按钮使用啦。
d、打开属性面板,将“确定”按钮命名为“qd_btn”,“重猜”按钮命名为“cc_btn”。

⑤新建一层,命名为“as”用来写代码。单击第一帧,按F9键开始写代码:

a、首先声明一个变量,用来存放0-100间的随机数,所以第一行代码为:
var a = random(101);

b、然后声明一个变量,用来存放猜的次数,现在还没猜,所以给它赋值为0,第二行代码为:
var cs:Number = 0;

c、下面使用条件语句,来比较用户输入的数与系统自动产生的随机数:

qd_btn.onRelease = function(){ //当点击确定按钮时,执行下面的语句
cs++; //猜的次数增加1
if (s>a){ //如果猜的数大于随机数
c = "大了点"; //动态文本框提示“大了点”
} else if (s==a){ //如果猜对了,根据猜的次数给出相应结果
if(cs<=5){ //如果猜的次数在5次以内
c = "哇,你只猜了" + cs + "次就猜对了,真历害!"; //给出表扬,注意这里用到了字符串的连接。
} else { // 如果不只猜5次
c="猜对了!你猜了"+cs+"次"; //提示猜对了,并给出猜的次数
}
} else if (s<a) { //如果猜的数字小于随机数
c="小了点"; //提示“小了点”
}
}

d、最后,来写重猜的代码:

cc_btn.onRelease = function () { //当点击重猜按钮时执行以下语句
a = random(101); //重新产生随机数
cs = 0; //将猜的次数设为0
s=""; //清空输入文本框
c=""; //清空提示文本框
}

到此为止,游戏已经设计完毕。大家可以测试并修改。我们可以给游戏加上一个背景,然后在屏幕上方提示游戏的规则。


思考:如果要在两个按钮上加代码,应当如何操作呢?

【五、附录】:
1:数学运算符:

其实,数学运算符跟我们数学课中用到的符号基本上一致。我们分别说明一下:


等于号==
大于号>
小于号<
大于等于号>=
小于等于号<=
不等号<>




2:双目运算符浅议:
       本话中我们接触了一个双目运算符|| ,它一般被称之为“逻辑或”,从字面上来理解,就是“或者”的意思。
因此,当|| 两边的表达式只要有一个为真的时候,整个表达式就是真。
       还有一个双目运算符&&,它一般被称之为“逻辑与”,英文中,单词and可以用&来代替,而and含有同时,和,与的意思。因此&&的含义就很好记了:“同时”的意思。
也就是说,当&&两边的表达式同时为真的时候,整个表达式才是真。
您所在的用户组只能看到部分内容.
如查看全部内容, 请先登录或者注册.
点评
B Color Smilies

您还可以输入:个字符
X

X

TOP

 

B Color Image Link Quote Code Smilies
高级模式 | 发新话题

您需要登录后才可以回帖 登录|立即注册

快速
返回顶部
返回首页