Javaのfor文は、繰り返し処理を表す制御文である。
Javaにおけるfor分の構文を次に示す。
for (initialization; condition; iteration) {
statements
}
for (initialization; condition; iteration)
statement
初期処理は省略することができる。
for (; condition; iteration) {
statements
}
for (; condition; iteration)
statement
繰返し条件は省略することができる。
for (initialization; ; iteration) {
statements
}
for (initialization; ; iteration)
statement
変化式は省略することができる。
for (initialization; condition;) {
statements
}
for (initialization; condition;)
statement
繰返し条件及び変化式は省略することができる。
for (initialization; ;) {
statements
}
for (initialization; ;)
statement
初期処理及び変化式は省略することができる。
for (; condition;) {
statements
}
for (; ; iteration)
statement
初期処理及び繰返し条件は省略することができる。
for (; ; iteration) {
statements
}
for (; condition;)
statement
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-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
for文を途中で終了するには、break文を使う。
public class Example {
public static void main(String[] args) {
for (int i = 0; ; i++) {
if (i >= args.length) {
break;
}
System.out.println(args[i]);
}
}
}
上記サンプルコードの実行例を示す。
$ java Example foo bar baz
foo
bar
baz
for文を途中で抜けて、次の繰り返し処理に移るには、continue文を使う。
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メソッドを利用できる。