天天看点

《交互式程序设计 第2版》一2.4 控制语句

本节书摘来华章计算机《交互式程序设计 第2版》一书中的第2章 ,第2.4节,joshua noble 著 毛顺兵 张婷婷 陈宇 沈鑫 任灿江 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

你经常需要控制程序的逻辑流程。如果某个条件成立,则执行某些操作;不成立则执行另外的操作。有时你想多次重复某个操作直到条件有所变化。你可以使用两种控制语句来实现以上提及的逻辑流程:一种是条件逻辑语句,判断条件为true还是false;另一种是循环语句,对一个操作重复一定的次数,或者一直重复到某个条件变为false为止。

if/then是一组条件逻辑语句,用法就跟这两个单词在英语中的意思差不多:“如果(if)下雨,那么(then)我就带把伞。”这个语句可以这样用:

紧接着“if”的圆括号里必须是一个返回布尔类型值(true或false)的表达式。例如:

“else”不是必需的:

只有当if的条件语句为true时,才执行花括号里的操作;如果条件语句不为true,则什么都不做。你可以试一试把条件设为false,看看结果。

条件控制语句还有一种写法:

在上面这个例子里,使用了一个新语句“else if”,其作用在于在进入else条件判断之前插入一个判断。也就是如果第一个条件不为true,那么就看else if的条件是否为true,如果仍然不为true,就流到最后的else语句。

使用for语句可以按一定的次数和条件重复同一个操作。循环经常用于遍历数组元素,逐个元素地访问、使用或变更。循环非常有用,尤其是在处理图像像素、视频帧、声音、网络数据以及其他需要分类或排序的信息的时候:

for语句的条件里有3个部分,如图2-5所示。

整数i用来设定循环执行的次数,每次循环执行花括号里的语句。初始化for循环的时候,把i设为0,只要i不大于10,循环继续执行,每执行完一次循环,i值增加1。

i也可以用自减来计数:

《交互式程序设计 第2版》一2.4 控制语句

图2-5:for循环

for循环另外一个巨大的用处就是遍历数组元素:

循环每执行一次,数组intarr的下一个整型元素就会累加到sum。

while循环和for循环类似,只是看起来简单一点:

只要while括号里的表达式仍然为true,循环就继续执行。要注意的是,如果括号里表达式一直不变为false,那么循环永远不会停下来,程序就会跑死。这叫“死循环”——无法终止并跳出的循环,会让程序无法使用甚至崩溃。所以在使用控制语句的时候,要对终止条件多加小心。下面是一个使用了计数器的例子:

每执行一次循环,j自加1。当j不小于100的时候,就会跳出循环,程序继续往下执行:

在上面这个例子里,使用了一个自增的数和一个布尔型变量,去判断是否准备好(ready)跳出循环。直到变量ready变为true,循环才会停止,然后打印出“we抮e ready”的消息。

continue语句告知程序跳过当前循环的其他语句而直接进行下一个循环。例如,如果你要循环若干次,但只在奇数次的时候执行某些操作,可以这样做:

程序打印出以下内容:

continue语句让程序跳进下一次循环。如果你有一个复杂的操作,可以使用continue语句去控制是否跳过这个操作而进入下一次循环,也就是说,可以避免程序做多余的事情。

使用break语句可中止循环。通常为了寻找某个东西而遍历一个数组,而当你找到它的时候,就可以用break语句轻松中止循环不再查找了,代码可以这样写:

继续阅读