2016.02.26

do~while文

はじめに

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

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

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

Javaソースコード その1

ここからは、do~while文を使用したサンプルのJavaソースコードで使い方を解説していきます。

以下がそのソースコードで、処理を10回繰り返すようにしたものです。

DoWhileSample1.java

001
002
003
004
005
006
007
008
009
010
011
012
013
public class DoWhileSample1 {
	public static void main( String[] args ) {
		// 変数の宣言
		int i;

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

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis DoWhileSample1.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac DoWhileSample1.java

実行

C:\talavax\javasample>java DoWhileSample1

出力結果

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

ここから、ソースコードを解説していきます、

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

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

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

System.out.println( "繰り返し回数:" + i );処理文で、繰り返し処理される文です。

この例では、処理文は2行ですが、{ ~ }の波括弧で囲まれている範囲の処理文を繰り返し実行することができます。

while文との違いは継続条件の判定のタイミングです。

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

Javaソースコード その2

DoWhileSample2.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
public class DoWhileSample2 {
	public static void main( String[] args ) {
		// 継続条件
		boolean f = false;

		// do~while
		int counter1 = 0;
		do  {
			++ counter1;
		} while ( f );	// f=false
		System.out.println( "カウンタ(do~while)=" + counter1 );

		// while
		int counter2 = 0;
		while( f ) {	// f=false
			++ counter2;
		}
		System.out.println( "カウンタ(while)=" + counter2 );
	}
}

コンパイル ソースコードが「ANSI」の場合

C:\talavax\javasample>javac -encoding sjis DoWhileSample2.java

コンパイル ソースコードが「UTF-8」の場合

C:\talavax\javasample>javac DoWhileSample2.java

実行

C:\talavax\javasample>java DoWhileSample2

出力結果

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

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

以上です。

関連コンテンツ

プログラミングで使う変数って何?

2020.03.23

繰り返し処理(ループ)から強制的に抜けかたについて解説しています。

2017.07.14

繰り返し処理を制御するための機能の1つである「continue」について詳しく解説しています。

2019.10.16

処理を繰り返すために使用するfor文について解説しています。

2020.03.23

処理を繰り返すために使用するwhile文について解説しています。

2016.01.26

条件式を判断して処理を分岐する方法を詳しく説明しています。

2023.03.20

for文などのループ中に、さらにループがある多重ループについて解説しています。

2021.02.09

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

繰り返し処理の作り方を解説しています。

2016.03.02

プログラムの最初に実行されるメソッドは?

2022.12.13

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

プログラミング、ITに関する用語をまとめています。

2022.10.17

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

広告