0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

インデックス不要!Javaの拡張for文で配列をスマートに処理する方法

Posted at

はじめに

Javaで配列の全要素を処理する際、多くの場合はfor文を使います。
for (int i = 0; i < array.length; i++) という書き方は、配列操作の基本であり非常に強力です。

しかし、「ただ配列の全要素を順番に読み取りたいだけ」という場面では、インデックス変数 i の管理が少し冗長に感じられることもあります。

そんな時に絶大な効果を発揮するのが**「拡張for文(Enhanced for statement)」**です。この記事では、そのシンプルで強力な使い方を解説します。

拡張for文の基本構文

拡張for文は、別名「for-eachループ」とも呼ばれ、配列やコレクションの要素を1つずつ取り出して処理することに特化しています。
基本的な構文は以下の通りです。

for (要素の型 変数名 : 配列やコレクション名) {
    // 取り出された要素(変数名)を使った処理
}

この構文は、日本語にすると「配列(コレクション)から、要素を1つずつ取り出して、この変数に入れてループしてね」という意味になります。
インデックスの初期化や条件式、インクリメントを自分で書く必要がないため、コードが非常にスッキリします。

実践コードと実行結果

それでは、実際に文字列の配列に対して拡張for文を使ってみましょう。
今回は、往年の強打者が集う、夢のような配列を用意しました。

スクリーンショット 2025-08-06 22.35.41.png

このコードが何をしているかを見ていきましょう。

  • String[] hifumi = { "カブレラ", "ウッズ", "李承燁" };
    3人の強打者の名前が入った、String型の配列を作成しています。

  • for (String value : hifumi) { ... }
    ここが拡張for文の心臓部です。

    1. hifumi配列から、要素が1つずつ順番に取り出されます。
    2. 取り出された要素(文字列)は、String型のvalueという変数に自動的に代入されます。
      • 1周目: value には "カブレラ" が入る
      • 2周目: value には "ウッズ" が入る
      • 3周目: value には "李承燁" が入る
    3. ループは、hifumi配列の全要素を取り出し終えるまで続きます。
  • System.out.println(value);
    ループの各回で、value変数に代入された値をそのまま画面に出力しています。インデックス [i] を使う必要は全くありません。

そして、このコードを実行した結果がこちらです。

スクリーンショット 2025-08-06 22.35.48.png

期待通り、配列の要素が順番に、そして綺麗に出力されました。

通常のfor文との使い分け

拡張for文は非常に便利ですが、万能ではありません。通常のfor文とどう使い分けるべきでしょうか。

  • 拡張for文が最適な場面

    • 配列の全要素を、順番に読み取りたいだけの場合。
    • 処理にインデックス番号が不要な場合。
    • コードの可読性を高め、シンプルに保ちたい場合。
  • 通常のfor文が必要な場面

    • 処理の中でインデックス番号そのものを使いたい場合。(例:「〇番目の要素は…」と表示したい)
    • 配列の要素を逆順で処理したい場合。
    • 複数の配列を同時に処理したい場合。

基本的には、「読み取るだけなら拡張for文、インデックスが必要なら通常のfor文」と覚えておくと良いでしょう。

まとめ

拡張for文は、Javaのコードをよりシンプルで、より安全(インデックス間違いによるエラーが起きない)にするための強力なツールです。

  • for (型 変数名 : 配列名) の構文をマスターしよう。
  • インデックスが不要な読み取り処理では、積極的に活用しよう。

日々のコーディングに拡張for文を取り入れて、より可読性の高いコードを目指しましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?