プログラミングを作成するときにループ構文を頻繁に使用することってよくありますよね。
ループ構文にはいくつも種類があってどう違うのか、何が違うのかわからなくなることありませんか。
一定の回数繰り返すものや条件を満たす場合のみ繰り返すなどたくさんあります。
この記事では、Javaにおけるループ構文、とくにfor each構文について紹介します。
Javaのfor eachメソッドとは?
for eachメソッドは、対象となる配列やフォルダなどのコレクションに格納されている要素の数だけ取り出して数だけ取り出して処理を繰り返します。
繰り返し処理を行う際に条件などは必要ありません。
条件式を組み合わせると途中でループを抜けることができます。
Java for eachの基本的な構文
Javaでのfor eachの基本的な構文は次の通りです。
コレクション名.forEach (引数 -> 繰り返し処理);
事前にコレクション内に複数のデータを格納することで、定義ができます。
格納したデータの個数だけ繰り返し処理を行います。
for eachの動き方
実際のコードを用いて動き方を紹介します。
//コード
public class Main{
public static void main(string[] area){
var myList = new ArrayList();
myList.add(“赤”);
myList.add(“青”);
myList.add(“黄色”);
myList.forEach(color -> {
System.out.println(“色:” + color);
});
}
}
//実行結果
色:赤
色:青
色:黄色
実際の動き方は次の通りです。
- myListを定義し、ArrayListの設定をします。 この設定をすることで空のリストの作成が可能です。
- Addメソッドを用いて、myListに赤、青、黄色を格納します。
- forEachを用いて作成したmyListの中で繰り返し処理を行います。処理内容は()の中に記述した内容です。
- myListに格納されている赤、青、黄色を順番にcolorに代入します。出力は「色:」という文字とcolorに代入された文字です。
この場合は、格納されたデータの数が3つなので、繰り返し回数は3回です。
myListに格納するデータを増やせばその分繰り返し処理の回数は増えます。
ラムダ式
ラムダ式は、Java8から導入された文法です。
ラムダ式を用いることでコードを簡潔に記載できるようになります。
コードの記載方法は、次の通りです。
(実装するメソッドの引数)-> {処理}
実装するメソッドが1つの場合のみ、型の種類と()を省略できます。
Javaのfor eachと似ている構文
forEachと同様に、リストなどのコレクション内の要素の数だけ繰り返し処理を行うことができるループ構文を紹介します。
for文
for文は、指定した回数や条件まで繰り返し実行する構文です。
基本的な構文や動きを例を用いて紹介します。
for文の基本構文
for文の基本的な構文は次の通りです。
for(初期化;条件式;継続処[変化処理]){
繰り返し行う処理;
}
for構文は、繰り返す回数を指定して行うループです。
繰り返す回数は直接指定するのではなく、変数の初期値・条件式・変数の変化する方法を指定することで、繰り返しの回数を指定します。
for文の動き方
for文では、繰り返し回数を指定するための変数と条件式、変数の変化方法をそれぞれ指定します。
実際のコードを用いて動き方を紹介します。
// 例
for (int i = 0 ; i < 2; i++){
System.out.println(“iの値は” +i);
}
// 出力結果
iの値は0
iの値は1
この場合、コードの動きは次の通りになります。
- 変数iを定義し、初期値として0を与えます。
- 変数iが条件式i<2を満たすので()内の処理が行われます。
- ()内の処理が終了したら、変化方法通りに変数を変化させ()内の処理を繰り返します。変化方法はi++なので、iは1ずつ増加します。
- 条件をも満たす間、3.を繰り返します。この場合の条件はi<2なので、iが2になった時点で終了です。
拡張for文
拡張for文とは、コレクションに含まれる要素の数だけ繰り返し処理を行う構文です。
拡張for文は、foreach文と似ていますが、必要な要素が異なります。
基本的な構文や動き方を紹介していきます。
拡張for文の基本構文
拡張for文の基本構文は次の通りです。
for (型_変数 : 配列名もしくはコレクション名){
繰り返し行う処理
}
配列やリスト、コレクションに含まれるすべての要素に対して繰り返し処理を行います。
for eachと同様に自分で作成したコレクションやリストも指定可能です。
拡張for文の動き方
拡張for文の動き方について例を用いて説明します。
// 例
int Total = 0;
int number[] = { 1, 2, 3, 4, 5 };
for (int score : number) {
Total += score;
}
System.out.println(“配列内の合計は”+Total);
// 出力結果
配列内の合計は15
- Totalという変数に0を代入し、配列numberに[1,2,3,4,5]を代入します。
- 拡張for文でscoreという変数を作成し配列numberの要素の数だけ繰り返し、{}内の処理を行います。
- 配列numberの要素をscoreに代入します。
- {}内の処理は、Totalの値にscoreの値を足していくので、最終的な結果は1〜5を足した15です。
繰り返し処理の際に使用する変数や数列などは自分で自由に設定することができます。
拡張for文は基本的には、配列やリストに含まれているすべての要素の数だけ繰り返します。
途中で繰り返しを止めたいときにはif文を用いて止めることが可能です。
for文以外のループ構文
Javaにはforループ以外にもいくつか種類があります。
ここでは代表としてwhile文とdo~while文について紹介します。
while文
while文は、変数が条件式を満たしている間、処理を繰り返す構文です。
基本的な構文は次の通りです。
while (条件式){
繰り返し処理;
}
条件式には、<や>、=などの記号を用いて条件を設定します。
変数に対して条件を設定することで繰り返し処理の回数を決めることができます。
条件に当てはめる値は数値だけでなく、変数で代用することも可能です。
条件を満たしている場合に繰り返し続けるので、breakを使用して繰り返し処理を途中で抜けることもできます。
do~while
do〜while文はwhile文と同様に、変数が条件式を満たしている間、繰り返し処理を行います。
while文と異なる点は、条件式を満たしていなくても、1回は処理をするという点です。
基本的な構文は次の通りです。
do{
繰り返し処理;
}
while (条件式);
繰り返し処理を1度行った後、条件式を満たしている間、繰り返し処理を行います。
条件を満たしている間繰り返し処理を続けるので、while文と同様にbreakを用いることで繰り返し処理を途中で止めることも可能です。
Javaプログラミングのスキルを活かして収入を増やすなら
なかには、副業での収入獲得やフリーランスへの独立を目的にJavaプログラミングのスキル習得に励んでいる人もいますよね。
ただ、身につけたスキルをどう収入UPに繋げればいいのか、イメージが湧かない人もいるはず。
そんな方は、ぜひフリーランスのミカタをご活用ください。
出典:フリーランスのミカタ
フリーランスのミカタは、平均単価80万円以上の案件を取り揃える、ITエンジニアに特化したフリーランスエージェントです。具体的には、次のような週3回からフルリモートで請け負える案件を豊富に掲載しています。
また希望年収や稼働時間だけでなく、扱うプログラミング言語などを細かく指定して案件を探せるため、自分にあう仕事を見つけやすいサイト仕様になっています。
ただし、上記のような案件は条件として2〜3年の実務経験が求められるケースが多いです。そのため、応募する際はどれくらいの経験が必要なのかを前もってチェックしておきましょう。
フリーランスのミカタを活用すれば、中・長期的な安定収入が得られる案件が見つかりますよ。
どんな案件が掲載されているか気になる人は、下のボタンから自分にあう案件を探してみてください。
[center][btn href=”https://freelance-mikata.com/ad/media_redirect_02/redirector?utm_source=ownedmedia&utm_medium=media&utm_campaign=lp” class=”cubic1 green-bc shadow”]公式サイトで詳細を見る[/btn][/center]
まとめ
今回は、Javaにおけるループ構文、とくにfor each構文について紹介しました。
ぜひこの記事を機に、Javaへの理解を深めてみてください。