読み方 : ドゥーホワイルぶん

do-while文【do-while statement】

概要

do-while文とは、プログラミング言語で繰り返し処理を行うための制御構文の一つで、ループ本体の処理を先に実行してから条件を評価するもの。条件の真偽にかかわらず必ずループ内の処理が最低1回は実行されることが保証される。C言語やJavaJavaScriptなど多くのプログラミング言語で採用されている。
do-while文のイメージ画像

指定された条件が真である間だけ処理を繰り返す構文で、基本的な構文は do { 処理 } while ( 条件 ); という形である。処理ブロックを実行した後に条件式を評価し、条件が真であれば再びループ先頭に戻って処理を繰り返す。条件が偽になった時点でループを抜け、次の処理に進む。

条件が真の間だけ繰り返す構文としてwhile文もあるが、これは条件を先頭で評価するため、最初から条件が偽であればループ内の処理は一度も実行されない。一方、do-while文は評価とループ内の処理の順序が逆になっており、ループ継続条件に関わらず初回実行を保証したい場面で使われる。

例えば、利用者に入力を求め、入力値が条件を満たすまで繰り返し入力を促す処理では、最初に必ず入力を受け取る動作が必要なため、do-while文が自然な選択となる。Javaでの記述例を示すと、int input; do { input = scanner.nextInt(); } while ( input < 0 ); のように書くことで、0以上の値が入力されるまで繰り返し入力を受け付ける処理を実装できる。

言語によって構文や名称に差異がある。Swiftにはdo-while文がなく、代わりに「repeat-while」という名称で同等の機能が提供されている。Pythonにはdo-while文に相当する専用構文が存在せず、while True: ... if 条件: break のような脱出条件をwhile文に与えない書き方で同等の動作を実現する。while文for文で初回の実行を保証する工夫が可能である場合も多く、do-while文の使用頻度は他のループ構文と比べて低い傾向がある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。