拡張for文とは
Javaでのループの基本はfor文・while文ですが、Javaのfor文には拡張for文というものがあります。
拡張for文は、配列やListなどのコレクション全ての要素に対して順番に繰り返し処理を行う為に使用します。
拡張for文は以下の構文で記述します。
for (型 変数名 : 配列名もしくはコレクション名){
// 繰り返し行う処理
}
拡張for文は、通常のfor文で行っていることを簡略化したものです。
通常のfor文では()内の区切りが「;(セミコロン)」二つだったのに対し、「:(コロン)」一つとなります。
「com.cmps.forExpansion」パッケージを作成、「ForExpansion」クラスを作成して以下のコードを記述してみましょう。
int sample[] = {100,150,300};
for(int item : sample) {
System.out.println(item);
}
配列sampleの値である、100、150、300が出力されたかと思います。
次はListを拡張for文で回してみましょう。
// 拡張for文
ArrayList<String> sampleList = new ArrayList<String>();
sampleList.add("abc");
sampleList.add("def");
sampleList.add("ghi");
for(String data:sampleList) {
System.out.println(data);
}
abc、def、efgが出力されましたか?
このように拡張for文を利用することで、繰り返し処理をfor文よりも少ない記述で行う事が出来ます。
拡張for文において、データの書き換えを行うことはできません。
例えば上記のListを使った例であればfor(String data:sampleList) {
data = "abcdefg";
}
このように「abcdefg」を代入したところで、
拡張for文の外でsampleListの中身を確認しても出力結果は[abc, def, ghi]となります。
練習問題
「com.cmps.Expansion」パッケージ内に、「ForExpansionQuestion」クラスを作成して解きましょう。
問1: 適当な値が5個格納された配列を作成して、全て値を表示しましょう。
問2: 100~1000までの100毎の数値が格納された配列を作成して、値を表示しましょう。
ただし200で割り切れる場合、スキップし、800以上の場合、処理を終了してください。
問3: 「配列」の問3を拡張for文を用いて解いてください。
練習問題のヒント
問3
拡張for文とfor文を使い解きます。
for文ではlengthを使い、配列の長さを取得します。
