読み方 : ドゥーホワイルぶん
do-while文【do-while statement】
概要

指定された条件が真である間だけ処理を繰り返す構文で、基本的な構文は 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文の使用頻度は他のループ構文と比べて低い傾向がある。