あなたが見逃しているのは、do...while
上記の使用が 100%間違っているということです!
たとえば、Javaのdo...while
ループは次のようになります。
do {
//something you want to execute at least once
} while (someBooleanCondition);
そこに2番目のブロックが完全に欠けているのがわかりますか?ステートメントが完全にwhile
終了する様子がわかりますか? つまり、 と の間のペアのコードが{...}
実行され、テストされ、それが true の場合、コード ブロックが再度実行されます。そしてまた。そしてまた。false とテストされるまで。do
while
someBooleanCondition
someBooleanCondition
この時点で、おそらく、両方の形式のループがある理由がわかるでしょう。上記のコードは次のように変換できます。
//something you want to execute at least once
while (someBooleanCondition) {
//something you want to execute at least once
}
ただし、このコードでは、同じ (潜在的に大きくて複雑な) コードを 2 回入力する必要があるため、さらに多くのエラーが発生する可能性があります。したがって、トップ テスト ループの代わりにボトム テスト ループが必要です。