Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 > Java基本 > 制御文 −1.while、do while、for
更新日:2005/7/25
制御文−1.while、do while、for
Javaでのwhile文、do while文、for文について説明します。
while文
while文は以下の枠内のフォーマットで構成されています。while文は繰り返しの処理を行いたい時に使用します。まず初めに式の値を判別します。式はブール型(true、false)の値を返すものでないといけません。式の値がtrueの場合、文を実行します。文を実行した後、再び式の判別を行い、値がtrueである場合再び文の実行を行います。式の値がtrueである限り、文の実行を繰り返します。式が初めから falseを返す場合、whileブロック中の文は一度も実行されません。
while (式) {
  文(複数可)
}
【例1】while文を使用した例です。
public class ExControl1 {
  public static void main(String[] args) {
    int i = 0;   //(1)
    while (i <= 5) {   //(2)
      System.out.println("iは" + i + "です。");   //(3)
      i++;   //(4)
    }
  }
}
【解説1】
(1). 変数iを宣言し、値0を代入します。
(2). 変数iが5以下の間、whileブロック内の文を実行します。
(3). 現在の変数iの値を表示します。
(4). 変数iの値を1増加させます。変数iが6になると式の判別時5以下を満たさなくなり、falseを返すため、while文は終了します。
【実行結果1】

D:\JAVA>javac ExControl1.java

D:\JAVA>java ExControl1
iは0です。
iは1です。
iは2です。
iは3です。
iは4です。
iは5です。

D:\JAVA>

do while文
do while文は以下の枠内のフォーマットで構成されています。do while文は必ず一度でも文を実行させたい場合に使用します。まず初めに文の実行を行います。その後、式の判別を行います。式はブール型(true、 false)を返すものでないといけません。式の結果がtrueであれば再び文の実行を行います。以後式がtrueである限り文の実行を繰り返します。式がfalseになると繰り返し処理を終了します。式が初めからfalseを返す場合でも必ず一度は文が実行されます。
do {
  文(複数可)
} while (式);
【例2】do while文を使用した例です。
public class ExControl2 {
  public static void main(String[] args) {
    int i = 6;   //(1)
    do {
      System.out.println("iは" + i + "です。");   //(2)
      i++;   //(3)
    } while (i <= 5);   //(4)
  }
}
【解説2】
(1). 変数iを宣言し、値6を代入します。
(2). do while文はまず初めに文の実行が行われるため、printlnメソッドにて変数iの表示を行います。
(3). 変数iの値を1増加させます。
(4). 変数iの値が7で5以下の条件を満たさずfalseを返すため、do while文を終了します。
【実行結果2】

D:\JAVA>javac ExControl2.java

D:\JAVA>java ExControl2
iは6です。

D:\JAVA>

for文
for文は以下の枠内のフォーマットで構成されています。for文も繰り返し処理の一種です。まず繰り返し処理を行う前に初期化を実行します。初期化では一般的に繰り返し処理の判断に使われるローカル変数の宣言(int i = 0;)などが行われます。その後条件を判断しtrueであれば文を実行します。条件にはブール型(true、false)の値を返す式が記載されます。文を実行した後、更新に記載されている処理を実行します。再び条件を判断しtrueであれば文の実行を行います。条件がtrueである限り繰り返し処理を行います。

初期化、条件、更新はそれぞれ削除することが可能です。すべてを削除したfor(;;)は無限ループを意味します。
for (初期化; 条件; 更新) {
  文(複数可)
}
【例3】for文を使用した例です。
public class ExControl3 {
  public static void main(String[] args) {
    //(1)初期値i=0、iが5以下の間forループ内を実行
    for(int i = 0; i <= 5; i++) {
      System.out.println("iは" + i + "です。");
    }
  }
}
【解説3】
(1). 初期値で変数iを宣言、0を代入し、forループの条件判断として使用します。文が実行されるたびに、更新で設定したi++に元づき変数iを1増加させ、iが6となった段階でforループを終了します。
【実行結果3】

D:\JAVA>javac ExControl3.java

D:\JAVA>java ExControl3
iは0です。
iは1です。
iは2です。
iは3です。
iは4です。
iは5です。

D:\JAVA>

制御文
1.while、do while、for
2.if、switch
3.break、continue、return



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道