do文
著者:
赤坂玲音
公開日:
繰り返し文の一種で、先に反復対象の文を実行してから条件を評価する do 文を紹介します。
反復条件の事後評価
while 文はループの開始前に式を評価します。 通常はこれで問題はありませんが、1 度は必ず繰り返し対象の文を実行したいという特殊なケースにおいて面倒が発生します。
while 文は条件式が最初から false を返す場合、1度も埋め込み文を実行せずに次へ制御を移します。条件式の結果に関係なく、少なくとも 1 度は繰り返し処理をする必要がある場合は do 文(do statement)を使用すると便利です。これは、最初に反復処理の対象となる文を実行し、その後に条件式を評価します。
do文
do 文 while (条件式);
文は条件式が true の間だけ繰り返し実行する任意の埋め込み文を指定します。繰り返すかどうかを判断する条件式は while キーワードの後に指定します。
図1 do文の流れ
do 文は最初に文を実行し、その後に条件式を評価します。条件式が true ならば文を繰り返し実行し、条件式が false であれば次の処理へ制御を移します。
コード1
class Test { static void Main() { int i = 100; do { System.Console.WriteLine(i + "回目のループです"); i++; } while (i < 10); } }
実行結果
コード1は do 文で反復処理を記述しています。条件式には i 変数が 10 より小さければ繰り返すように指定していますが、i 変数は 100 で初期化しているため式は false となります。しかし do 文は式を評価する前に反復対象の埋め込み文を実行するため、条件が満たされていなくても 1 度は実行されます。