- 開発技術
【Java】『拡張for文(for-each文)』と『for文』の違いとは?
- #Java
はじめに
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
ここでは、Javaの基本的な構文の一つである拡張for文について解説します。
拡張for文とは、1回の繰り返し毎に配列の要素を先頭から順番に取り出して処理することができる構文です。また、for-each文と呼ばれることもあります。
◆構文 拡張for文
1 2 3 |
for(要素の型 任意の変数名:配列変数名){ 繰り返し処理; } |
対象の配列の要素をすべて取得して処理を行うとき、拡張for文を使用できます。
従来のfor文との比較
拡張for文では、ループするたびに「任意の変数名」として指定した変数に配列の要素の内容が格納される構造になっていることがわかります。条件式が無く、対象の配列の要素数だけ繰り返しを行うのが特徴です。サンプルコードを用いて従来のfor文と比較したいと思います。
◆従来のfor文
1 2 3 4 5 6 7 8 |
public class Main { public static void main(String[] args) { int[] sumples = {1, 3, 5, 7, 9}; for(int i = 0; i < sumples.length; i++){ System.out.println(sumples[i]); } } } |
◆拡張for文
1 2 3 4 5 6 7 8 |
Public class Main{ Public static void main(String[] args){ int[] sumples = {1, 3, 5, 7, 9}; for(int value : sumples){ System.out.println(value); } } } |
◆実行結果
1
3
5
7
9
まとめ
拡張for文ではループ変数や添え字の指定が不要なため、より簡潔にコードを記載することができます。コーディングのしやすさ、可読性の高さが拡張for文のメリットと言えます。
今回の例では基本のfor文よりも拡張for文の方がスッキリとしたコードになりますが、拡張for文は先頭要素から一つずつ値を取り出す処理にしか対応しないため、要素を指定したい場合や順番を指定したい場合などは基本のfor文を使う必要があります。用途に応じて使い分けましょう。
[参考文献]
中山清喬, 国元大悟『スッキリわかるJava入門』2019年, 株式会社インプレス,p.162-163
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>