ゆるゆるプログラミング

・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が足されていることがわかります。

■関連コンテンツ

for文   繰り返し処理に使用するfor文について解説
while文   繰り返し処理に使用するwhile文について解説
変数について(7)   Javaで扱う変数について解説
if文   条件による処理の分岐に使用するif文について解説

■新着情報

2017.11.17 N値化 カラー画像をN値化する方法について解説
2017.11.16 最も近い値の取得 指定値に最も近い配列の値を取得する方法を解説
2017.10.02 アルファ値(透過) アルファ値(透過)について

■広告

法人向けのETC専用カード

~約8,000名の受講生と80社以上の導入実績~ 企業向けプログラミング研修ならCodeCamp

日本最大級ショッピングサイト!お買い物なら楽天市場

Topへ