6-4 先打一拳的循环:do while 循环
本节编程练习不计算学习进度,请电脑登录imooc.com操作

先打一拳的循环:do while 循环

我们再来看看 do-while 循环,语法如下:

do {

} while(表达式 A)

可以发现,do-while 和 while 是非常像的,不一样的是,这里多了一个 do,而且 while 放到了后面。

而 do-while 和 while 最不一样的地方,就是 do-while 无论条件是否成立,都会先执行一次循环体内的内容。

do-while 是一种 while 的重要补充,由 while 的先判断再循环,变成先循环再判断。

我们来看这样一段程序

do {
    ...
} while(false)

这段程序中,我们直接在 while 的判断条件中写了一个 false。那么我们这样做了,事实上是无法构成一个循环的。既然不是循环,那么我们为什么要这样做呢?

因为我们这里要利用一个循环的语法,来实现非循环的用途。

我们在写程序的时候,有时候会想要做一个跳过一段程序的功能。

if(a == 12){
    // 执行跳过语句
}

b = a + b;

b = a - b;

例如,在上面的程序中,如果我们想要实现这样一个需求:当 a 等于 12 的时候,就跳过b = a + b;,直接执行b = a - b;。如果 a 不等于 12,就依次执行b = a + b; b = a - b;

显然,实现这样一个功能,可以用 if 等的多分支结构:

if(a == 12){
    b = a - b;
}
else{
    b = a + b;
    b = a - b;
}

但是当要跳过的语句有好多行的时候,就会显得特别不方便。因此,我们可以尝试利用 do-while 语法来完成。

do {
    if(a == 12){
        break;
    }
    b = a + b;
} while(false);

b = a - b;

这样,我们将 do-while 和 break 进行配合,完成一个和循环无关的程序结构。

任务

  1.  
下一节