Javaのfor文

for文

Javaのfor文は、繰り返し処理を表す制御文である。

for ( [初期処理] ; [繰り返し条件] ; [変化式] ) {
  ブロック
}
変化式
初期処理で初期化インデックス変数を、繰返しのたびに変化させる式を指定する。

for文の使用例を示す。

public class Example {
  public static void main(String[] args) {
    for (int i = 0; i < args.length; i++) {
      System.out.println(args[i]);
    }
  }
}

上記サンプルコードの実行例を示す。

$ java Example foo bar baz
foo
bar
baz

拡張for文

for-each文は、配列やコレクションと呼ばれる複数の要素から要素を順に取り出しで処理するための繰り返し制御文である。

for ( データ型 変数名 : コレクション ) {
  ブロック
}

for文の使用例を示す。

public class Example {
  public static void main(String[] args) {
    for (Strig s : args) {
      System.out.println(s);
    }
  }
}

上記サンプルコードの実行例を示す。

$ java Example foo bar baz
foo
bar
baz

break

for文を途中で終了するには、break文を使う。

for (int i = 0; ; i++) {
    if (i > 9)
      break;
    System.out.println(i);
}

continue

for文を途中で抜けて、次の繰り返し処理に移るには、continue文を使う。

forEachメソッドとラムダ式

for文と同様の繰返し処理をコレクションのforEachメソッドとラムダ式でもできる。

public class Example {
  public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<String>(Arrays.asList(args));
    list.forEach(s->System.out.println(s));
  }
}

上記サンプルコードの実行例を示す。

$ java Example foo bar baz
foo
bar
baz

java.lang.Iterableインタフェースを実装したクラスであれば、forEachメソッドを利用できる。具体的には、次に示すクラスである。

次に示すインタフェースはIterableのサブインタフェースであるため、forEachメソッドを利用できる。