您缺少的是您对do...while
上述内容的使用是 100%错误的!
例如,Java 中的do...while
循环看起来像这样:
do {
//something you want to execute at least once
} while (someBooleanCondition);
看到那里完全没有第二个街区了吗?看看语句如何完全结束while
?所以现在发生的是 和 之间的代码将{...}
被执行,然后将被测试,如果它是真的,代码块将再次被执行。然后再次。然后再次。直到被测试为假。do
while
someBooleanCondition
someBooleanCondition
在这一点上,也许你会明白为什么我们有两种形式的循环。上面的代码可以翻译成:
//something you want to execute at least once
while (someBooleanCondition) {
//something you want to execute at least once
}
但是,此代码要求您键入两次相同(可能很大且很复杂)的代码,从而为更多错误敞开大门。因此需要底部测试循环而不是顶部测试循环。