首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.7 循环语句

if语句或许是最重要、最有用的条件语句了。if语句的唯一不足是它无法用来完成重复性的操作。在if语句里,包含在花括号里的代码块只能执行一次。如果需要反复多次地执行同一个代码块,就必须使用循环语句。

循环语句可以让我们反复多次地执行同一段代码。循环语句分为几种不同的类型,但它们的工作原理几乎一样:只要给定条件仍能得到满足,包含在循环语句里的代码就将重复地执行下去;一旦给定条件的求值结果不再是true,循环也就到此为止。

2.7.1 while

while循环与if语句非常相似,它们的语法几乎完全一样:

while循环与if语句唯一的区别是:只要给定条件的求值结果是true,包含在花括号里的代码就将反复地执行下去。下面是一个while循环的例子:

我们来仔细分析一下上面这段代码。首先,创建数值变量count并赋值为1;然后,以count < 11——意思是“只要变量count的值小于11,就重复执行这个循环”,为条件创建一个while循环。在while循环的内部,用“++”操作符对变量count的值执行加1操作;而这一操作将重复执行10次。如果用Web浏览器来观察这段代码的执行情况,将会看到一个alert对话框闪现了10次。这条循环语句执行完毕后,变量count的值将是11。

注意 这里的关键是在while循环的内部必须发生一些会影响循环控制条件的事情。在上例中,我们在while循环的内部对变量count的值进行了加1操作,而这将导致循环控制条件在经过10次循环后的求值结果会变成false。如果我们不对变量count的值执行加1操作,这个while循环将永远执行下去。

2.7.2 do...while

类似于if语句的情况,while循环的花括号部分所包含的语句有可能不被执行:因为对循环控制条件的求值发生在每次循环开始之前,所以如果循环控制条件的首次求值结果是false,那些代码将一次也不会被执行。

在某些场合,我们需要那些被包含在循环语句内部的代码至少执行一次。这时,do循环将是我们的最佳选择。下面是do循环的语法:

这与刚才介绍的while循环非常相似,但有个显而易见的区别:对循环控制条件的求值发生在每次循环结束之后。因此,即使循环控制条件的首次求值结果是false,包含在花括号里的语句也至少会被执行一次。

我们可以把前一小节里的while循环改写为如下所示的do...while循环:

这段代码的执行结果与while循环的执行结果完全一样:alter消息将闪现10次;在循环结束后,变量count的值将是11。

再来看看下面这个变体:

在上面这个do循环里,循环控制条件的求值结果永远不为true:变量count的初始值是1,所以它在这里永远不会小于1。可是,因为do循环的循环控制条件出现在花括号部分之后,所以包含在这个do循环内部的代码还是执行了一次。也就是说,仍将看到一条alert消息。这里还有一个细节需要大家注意:这些语句执行完毕后,变量count的值将是2而不是1——虽然这没有改变这个例子里“循环控制条件的求值结果是false”的事实。

2.7.3 for

用for循环来重复执行一些代码也很方便。从循环执行一些代码的意义上讲,它类似于while循环;从另一个方面看,for循环只是刚才介绍的do循环的一种变体形式。如果仔细观察上一小节里的do循环的例子,我们就会发现它们都可以被改写为如下所示的样子:

而for循环不过是把如上所示的循环结构进一步改写为如下所示的紧凑形式而已:

用for循环来重复执行一些代码的好处是循环控制结构更加清晰。与循环有关的所有内容都包含在for语句的圆括号部分。

我们可以把上一小节里的do循环例子改写为如下所示的for循环:

与循环有关的所有内容都包含在for语句的圆括号里。现在,当我们把一些代码放在花括号中间的时候,我们清楚地知道那些代码将被执行10次。

for循环最常见的用途之一是对某个数组里的全体元素进行遍历处理。这往往需要用到数组的array.length属性,这个属性可以告诉我们在给定数组里的元素的个数:

运行这段代码,你们将看到4条alert消息,它们分别对应着Beatles乐队的四位成员。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论