for を使ったループ
ループを途中で抜け出すには、breakを使います。breakが実行されると、ループの外に制御が移ります。
下のsample codeは、文字数が3文字以上の配列要素を見つけると、その時点で検索を終了する例です。
continueを使うと、ループの中に書かれているcontinue以降の処理をスキップしてループの最初に戻ります。
その時にカウンターはカウントアップされます。下のsample
codeでは配列の要素がnullであれば、以降の処理をスキップしているため、
NullPointerExceptionを発生させる事無く検索しています。
class ExamFor {
public static void main(String args[]) {
String s[] = new String[10];
String s2[] = {"ab" , "cd", "efg", "h", "ijk"};
// s2 -> s set
int ix1 , ix2;
for ( ix1 = 0 , ix2 = 0 ; ix2 < s2.length ; ix1 = ix1 + 2 , ix2++) {
s[ix1] = s2[ix2];
}
for ( int ix = 0 ; ix < s.length ; ix++ ) {
if (s[ix] == null) {
continue; //skip follow line
}
if (s[ix].length() > 2) {
System.out.println(s[ix]);
break;
}
}
}
}
<実行結果>
コンソール画面に
efg
と表示されます。
ijkは表示されません。
上のコードは、配列sをサーチするループです。
配列sは最初10個の大きさで作成されているので、10個全ての要素がnullで初期化されています。
配列s2は5個の要素を持っており、1つ目のループでs2からsへ1つおきに参照を代入しています。
配列sの内容 : [ab], null
, [cd], null ,[efg], null ,[h], null ,[ijk],
null
1つ目のforでは変数をカンマで並べて、2つ使用しています。構文の意味は前ページへ
labelを記述してそのstatementから抜け出すsampleはこちら。