※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。
こんにちは。こんぶです。
今日は、「配列とfor文の組み合わせ」について学んでいきましょう!
私の自己紹介等は、こちらからどうぞ。
また、Javaの学習を最初から進めていきたい方は、Java-1から見てみてくださいね。
配列とfor文
配列とfor文を組み合わせて使用することで、便利に活用することができる方法があるので、3つ紹介していきます。
配列の全要素の利用
添え字にループ変数を使用することで、ループするたびに添え字が0~順番に変化しながら処理を行ってくれるため、配列の全要素を利用できます。
こうすると、要素の個数が増減したとしてもfor文の記述を修正する必要はなく、配列の宣言・初期化部分のみ変更することになるので便利です。
ループ配列の要素を順に利用していくことを「配列を回す」ともいいます。
forループで配列を回すコードは、次のようになります。
ループ変数名は i 以外でも大丈夫です。
「配列変数名.length」で要素数を取得できるので、「要素数より小さい時」という条件を設定すると、全要素を利用することができますね。
例えば、int型の要素を5つ持つ配列変数「numbers」を宣言・初期化し、配列を回しながら、各ループごとに画面に出力するというコードは次のようになります。
こちらの例では、各ループごとに「numbers[その時点で i に入っている添え字] = 配列変数numbersのi番目の要素」を出力するので、画面には次のように表示されます。
集計
条件に合致する要素をカウントして集計することもできます。
forループで配列を回し、条件に合致する要素をカウントしていくコードは、次のようになります。
こちらも、ループ変数名は i 以外でも大丈夫です。
「配列変数名.length」で要素数を使用して全要素をループさせ、要素が「集計条件」に合致する場合にint型変数「count」にインクリメント(1足す)することで集計されていきます。
例えば、int型配列「numbers」とint型変数「count」を宣言・初期化し、「numbers」の要素が20以上の場合に「count」にインクリメント(1足す)し、最後に結果(20以上の要素の数)を画面に出力するというコードは次のようになります。(集計条件:「numbers」の要素が20以上)
int型配列「numbers」には20以上の数字が5つ入っているため、この例を実行すると「20以上の要素の数: 5」のように画面に表示されます。
異なる配列の情報を関連付けて利用
同じ添え字を使って、2つの異なる配列の情報を関連付けて利用することもできます。
対応するデータを簡単に取得できるので便利です。
次の例を見てみましょう。
こちらは、商品名を格納するString型の配列「products」と、各商品に対応する価格を格納するint型の配列「prices」を宣言・初期化し、forループで商品名と対応する価格を順番に出力していくというコードになっています。
「products」と「prices」の添え字(今回は「i」)を対応させることで、関連付けて利用することができます。
ちなみに、この例を実行すると次のように画面に表示されます。
今回のまとめ
★配列とfor文を組み合わせて使用することで、次の3つのことができます。
- 添え字にループ変数を使用することで、配列の全要素を利用すること
- 条件に合致する要素をカウントして集計すること
- 同じ添え字を使用し、2つの異なる配列の情報を関連付けて利用すること
・配列を回す:ループ配列の要素を順に利用していくこと
次回は、配列の第3弾として「拡張for文」や「メモリ」について説明していこうと思います。
今回の内容のチャレンジ問題はこちらです→チャレンジ問題【Java-23】
次の内容に進む方はこちらです→【Java-24】配列③拡張for文、メモリ
それでは、こんぶはじゃ~
コメント