Java while文とdo…while文 処理を繰り返す

Javaのwhile文とdo...while文で処理を繰り返すサンプルです。

while文 while文とは / while文のサンプル
  ループを抜ける(break) / 2重ループを抜ける(ラベル)
  ループの先頭に戻る(continue)
do...while文 do...while文とは / do...while文のサンプル
  ループを抜ける(break) / 2重ループを抜ける(ラベル)
  ループの先頭に戻る(continue)
演算子 比較演算子
参考 無限ループの止め方(Eclipse使用時)

while文とは

while (条件){
       実行される処理
}
  • 条件がtrueの間、内部の処理を繰り返します。
  • 条件がfalseの場合、ループ処理を終了します。
  • 最初の条件の判定でfalseの場合、ループは1回も実行しません。
  • 処理に、条件をfalseにするロジックがないと無限ループになるので注意が必要です。

while文のサンプル

  int i = 0;

  while (i < 5) {
    System.out.println(i); //0,1,2,3,4が出力される
    i++;
  }

3行目は、値が5より小さい間、処理を繰り返します。
5行目は、条件になる値を加算しています。

while文 ループを抜ける(break)

  int i = 0;

  while(true){
    if (i == 3) {
      break;
    }
    System.out.println(i); //0,1,2が出力される
    i++;
  }

5行目のbreakは、while文を抜けます。
3行目は、条件をtrueにしています。このサンプルでは9行目のbreakがないと無限ループになるので注意して下さい。

while文 2重ループを抜ける(ラベル)

  int i = 0;
  while1: while (true) {
    while (true) {
      if (i == 3) {
        break while1;
      }
      System.out.println(i); // 0,1,2が出力される
      i++;
    }
  }
  System.out.println("終了"); // 出力される

whileが2つある2重ループです。while1はラベルです。
5行目のbreakとラベルで外側のwhile文を抜けます。

while文 ループの先頭に戻る(continue)

  int i = 0;
        
  while(i < 5){
    if (i == 3) {
      i++;
      continue;
    }
    System.out.println(i); //0,1,2,4が出力される
    i++;
  }

6行目のcontinueは、次は3行目を実行します。
このサンプルでは6行目の加算がないと無限ループになるので注意して下さい。

do...while文とは

do {
       実行される処理
} while (条件);
  • 条件がtrueの間、処理を繰り返します。
  • 条件がfalseの場合、ループ処理を終了します。
  • 必ず1回は処理が実行されます。
  • 処理に、条件をfalseにするロジックがないと無限ループになるので注意が必要です。

do...while文のサンプル

  int i = 0;

  do {
    System.out.println(i); //0,1,2,3,4が出力される
    i++;
  } while (i < 5);

値が5より小さい間、処理を繰り返します。

do...while文 ループを抜ける(break)

  int i = 0;

  do {
    if (i == 3) {
      break;
    }
    System.out.println(i); //0,1,2が出力される
    i++;
  } while (true);

5行目のbreakは、do...while文を抜けます。
9行目は、条件をtrueにしています。このサンプルでは5行目のbreakがないと無限ループになるので注意して下さい。

do...while文 2重ループを抜ける(ラベル)

  int i = 0;
  dowhile1: do {
    do {
      if (i == 3) {
        break dowhile1;
      }
      System.out.println(i); // 0,1,2が出力される
      i++;
    } while (true);
  } while (true);
  System.out.println("終了"); // 出力される

doが2つある2重ループです。dowhile1はラベルです。
5行目のbreakとラベルで外側のdo-while文を抜けます。

do...while文 ループの先頭に戻る(continue)

  int i = 0;

  do {
    if (i == 3) {
      i++;
      continue;
    }
    System.out.println(i); //0,1,2,4が出力される
    i++;
  } while (i < 5);

6行目のcontinueは、次は3行目を実行します。
このサンプルでは5行目の加算がないと無限ループになるので注意して下さい。

比較演算子

Javaの比較演算子の一覧です。

比較演算子 説明
a == b aとbの値は等しい
a != b aとbの値は等しくない
a > b aはbより大きい
a >= b aはbより大きい または 等しい
a < b aはbより小さい
a <= b aはbより小さい または 等しい

無限ループの止め方(Eclipse使用時)

Eclipse使用時に無限ループになった時は、「コンソール」タブにある四角の赤いアイコンを押します。(Eclipse 4.8)

関連の記事

Java 拡張for文 配列やコレクションをループで取得
Java for文 処理を繰り返す(break/continue)

△上に戻る