Top > Java > ループ文


for 文

文法
for (初期化の式; 繰り返すかどうか調べる式; 変化のための式)
   文;
または
for (初期化の式; 繰り返すかどうか調べる式; 変化のための式) {
   文1;
   文2;
   ・
   ・
}
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 
-
|
-
-
|
!
|
|
!
!
class Sample
{
  public static void main(String args[])
  {
    for(int i = 1; i <= 5; i++) {
      System.out.println("繰り返し中");
    }
 
    System.out.println("繰り返し終了");
  }
}
繰り返し中
繰り返し中
繰り返し中
繰り返し中
繰り返し中
繰り返し終了
解説
for 文では、繰り返す回数をカウントするために、変数を使用します。 処理の流れとしては、

①文を実行

②iをインクリメント (+1する)

③条件を判定

④true ならば文を実行(繰り返し)、false であれば終了

となります。したがって、例文の場合は変数iが1から5まで5回繰り返す事になります。
応用例
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 
 
 
 
-
|
-
|
|
|
|
|
|
|
|
-
|
!
|
|
!
!
/* 入力した数までの合計を求める */
import java.io.*;
 
class Sample2
{
  public static void main(String args[]) throws IOException
  {
    System.out.println("いくつまでの合計を求めますか?");
    BufferedReader br =
        new BufferedReader(new InputStreamReader(System.in));
 
    String str = br.readLine(); /* 数値を入力させる */
    int num = Integer.parseInt(str);
 
    int sum = 0;
    for(int i = 1; i <= num; i++) {
      sum += i; /* i が入力した数 num になるまで足し算を繰り返す */
    }
 
    System.out.println("1から" + num + "までの合計は" + sum + "です");
  }
}

while 文

文法
while (条件) {
  文;
  ・・・
}
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 
-
|
-
|
|
-
|
|
!
|
|
!
!
class Sample
{
  public static void main(String args[])
  {
    int i = 1;
 
    while(i <= 5) {
      System.out.println(i + "番目の繰り返し");
      i++;
    }
 
    System.out.println("完了");
  }
}
1番目の繰り返し
2番目の繰り返し
3番目の繰り返し
4番目の繰り返し
5番目の繰り返し
完了
解説
while 文では、条件が false になるまで繰り返し処理を行うことができます。 処理の流れとしては、

①条件を確認

②true であれば、を実行する、falseであれば、終了

となります。つまり、while(1) { } とすれば、無限ループを作ることができます。

do~while 文

文法
do {
  文;
  ・・・
} while (条件);
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 
-
|
-
|
|
-
|
|
!
|
|
!
!
class Sample
{
  public static void main(String args[])
  {
    int i = 1;
 
    do {
      System.out.println(i + "番目の繰り返し");
      i++;
    } while(i <= 5);
 
    System.out.println("完了");
  }
}
1番目の繰り返し
2番目の繰り返し
3番目の繰り返し
4番目の繰り返し
5番目の繰り返し
完了
解説
実行結果としては、上記while文の時と同じになりました。 しかし、処理の流れとしては異なります。

①文を実行

②条件を確認

trueであれば①へ戻り、falseであれば終了

条件を確認するタイミングは、を実行した後になります。 つまり、最低1回は、文を実行するということです。

break 文

switch文でも出てきましたが、break 文ループ文にも使用することができます。 主な用途としては、処理の流れを強制的に終了し、そのブロックから抜ける働きをします。一言で言えば、ループの強制終了です。

使用例
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 
 
-
|
-
|
|
|
|
|
|
|
|
-
|
|
|
!
!
!
import java.io.*;
 
class Sample
{
  public static void main(String args[]) throws IOException
  {
    System.out.println("何番目でループを終了させますか?");
 
    BufferedReader br =
        new BufferedReader(new InputStreamReader(System.in));
 
    String str = br.readLine();
    int res = Interger.parseInt(str);
 
    for(int i = 1; i <= 10; i++) {
      System.out.println(i + "番目の繰り返し");
      if (i == res)
        break;
    }
  }
}
何番目でループを終了させますか? (1~10)
4 [Enter]
1番目の繰り返し
2番目の繰り返し
3番目の繰り返し
4番目の繰り返し

continue 文

break文の他に強制的に処理の流れを変更する命令として、continue文があります。これは、繰り返し内の処理を飛ばし、ブロックの先頭位置に戻って次の処理を続けるという命令です。簡単に言えば、次の繰り返しへGO!という意味になります。

使用例
すべてを展開すべてを収束
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 
 
-
|
-
|
|
|
|
|
|
|
|
-
|
|
|
!
!
!
import java.io.*;
 
class Sample
{
  public static void main(String args[]) throws IOException
  {
    System.out.println("何番目のループを飛ばしますか?");
 
    BufferedReader br =
        new BufferedReader(new InputStreamReader(System.in));
 
    String str = br.readLine();
    int res = Interger.parseInt(str);
 
    for(int i = 1; i <= 5; i++) {
      if(i == res)
        continue;
      System.out.println(i + "番目の繰り返し");
    }
  }
}
何番目のループを飛ばしますか?
3 [Enter]
1番目の繰り返し
2番目の繰り返し
4番目の繰り返し
5番目の繰り返し

リロード   凍結解除 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 03 Jun 2019 14:37:49 UTC (1164d)