拡張for文
拡張for文とは
配列やコレクションといった複数の要素を持っているものからすべての要素に含まれる値を順番に取り出して処理するために使われます。
拡張for文は、「要素の指定ができない」という通常のfor文との違いがあります。
拡張for文の記述の仕方
拡張for文の基本的な書き方はこちらです。
for (型 変数名: 配列名もしくはコレクション名){
実行する処理
}
値を順番に取り出したい配列やコレクションと、取り出した値を格納する変数を:(コロン)で区切って記述します。
繰り返される回数は配列やコレクションに含まれている値の数なので条件式と変化式は必要ありません。
for文との使い分け
結論、拡張for文をつかったほうが「 記述内容がシンプルでコーディングもしやすく、可読性も優れている」ので記述ミスが軽減される点で現場では重宝されます。
こちらが通常のfor文です。
for(初期化式; 条件式; 変化式){
実行する処理
}
for文 の使い所
- 指定した条件で繰り返し処理を実行するときに使う
- 繰り返す処理の内容を指定できる。
拡張for文 の使い所
- コレクションのすべての要素に対して繰り返し処理をするとき
- 「 リストの 何番目が必要 」という要件がないとき
for文をより簡単に書けるメリットはとても大きいので、「拡張for文でかけるかどうかを検討」し、難しそうだったらfor文を使うといいかと思います。
拡張for文のサンプルコード
こちらは配列内の値を全部足すループと、全部引き算をかけるループのコードになります。
public class Main {
public static void main(String[] args) {
int plusTotal = 0;
int minusTotal = 0;
int number[] = { 1, 2, 3, 4, 5 };
for (int score : number) {
// 配列内で足し算するループ
plusTotal += score;
// 配列内で引き算するループ
minusTotal -= score;
}
System.out.println("配列内を全部プラスすると" + plusTotal);
System.out.println("配列内を全部マイナスすると" + minusTotal);
}
}
実行結果
配列内を全部プラスすると15
配列内を全部マイナスすると-15