Javaプログラミング学習サイト ゆるゆるプログラミング

2016/02/26 公開

・do~while文

do~while文は、処理を繰り返すために使用します。継続条件式で指定した条件を満たしている間、処理が繰り返されます。同じように繰り返しを行うfor文がありますが、for文は主に繰り返す回数が決まっているときに使用し、回数が分からない場合はdo~while文またはwhile文を使用します。その一般的な書き方について説明します。

以下は、{ ~ }の波括弧で囲まれている範囲の全ての処理文を繰り返し実行する書き方です。

    do {
        処理文1
        処理文2
           :
    while ( 継続条件式 );

ここからは、do~while文を使用したサンプルのJavaソースコードで使い方を解説していきます。以下がそのソースコードで、処理を10回繰り返すようにしたものです。

DoWhileSample1.java ← クリックしてダウンロードページに移動
001:    public class DoWhileSample1 {
002:    	public static void main( String[] args ) {
003:    		// 変数の宣言
004:    		int i;
005:    
006:    		// 10回の繰り返し
007:    		i = 1;
008:    		do  {
009:    			System.out.println( "繰り返し回数:" + i );
010:    			++ i;
011:    		} while ( 10 >= i );
012:    	}
013:    }

出力結果

繰り返し回数:1
繰り返し回数:2
繰り返し回数:3
繰り返し回数:4
繰り返し回数:5
繰り返し回数:6
繰り返し回数:7
繰り返し回数:8
繰り返し回数:9
繰り返し回数:10

003:    		// 変数の宣言
004:    		int i;

繰り返しに使う変数を宣言しています。

006:    		// 10回の繰り返し
007:    		i = 1;
008:    		do  {
009:    			System.out.println( "繰り返し回数:" + i );
010:    			++ i;
011:    		} while ( 10 >= i );

System.out.println( "繰り返し回数:" + i );処理文で、繰り返し処理される文です。この例では、処理文は2行ですが、{ ~ }の波括弧で囲まれている範囲の処理文を繰り返し実行することができます。

while文との違いは継続条件の判定のタイミングです。while文は先頭で判定を行い、do~while文は最後に行います。よって、do~while文の場合は、必ず1回は記述した処理が実行されます。以下がそれを比較するJavaソースコードです。

DoWhileSample2.java ← クリックしてダウンロードページに移動
001:    public class DoWhileSample2 {
002:    	public static void main( String[] args ) {
003:    		// 継続条件
004:    		boolean f = false;
005:    
006:    		// do~while
007:    		int counter1 = 0;
008:    		do  {
009:    			++ counter1;
010:    		} while ( f );	// f=false
011:    		System.out.println( "カウンタ(do~while)=" + counter1 );
012:    
013:    		// while
014:    		int counter2 = 0;
015:    		while( f ) {	// f=false
016:    			++ counter2;
017:    		}
018:    		System.out.println( "カウンタ(while)=" + counter2 );
019:    	}
020:    }

出力結果

カウンタ(do~while)=1
カウンタ(while)=0

do~while文のカウンタ(do~while)は1で、while文のカウンタ(while)は0となります。do~while文while文の継続条件をどちらもfalseにしていますが、do~while文の方は、処理の後に継続するかの判定が行われるため、カウンターに1が足されていることがわかります。

■関連コンテンツ

Javaの変数(他13件) Javaで扱う変数について解説
break文 ループから処理から抜け出る
continue文 ループの先頭に戻る
繰り返し処理に使用するfor文について解説-画像

for文

繰り返し処理に使用するfor文をJavaのソースコードを使って説明しています。

繰り返し処理に使用するwhile文について解説-画像

while文

繰り返し処理に使用するwhile文について解説

条件による処理の分岐に使用するif文について解説-画像

if文

条件による処理の分岐に使用するif文について解説

for文の中にfor文-画像

多重ループ

for文などのループの中にループをいれたプログラムの構造、多重ループについて説明しています。

■新着情報

2021.06.18 変数の初期値 変数に値を代入しないで計算
2021.05.28 短針と長針の角度 短針と長針の角度は?
2021.05.19 各位(くらい)を求める 1の位の値は?10の位は?

■広告

Topへ