プログラミングを始めたばかりの初心者に向けて繰り返し処理を行うfor文の使い方を紹介していきます。
for文は実務でもかなりの頻繁に使用される基本的な処理方法の1つ。
Java言語以外でも利用されるので、他のプログラミング言語を学習する予定がある人もしっかり学んでおきましょう。
本記事では、Javaのfor文について詳しく説明し、初心者が理解しやすいように具体的な例を交えて解説します。
私も最初はfor文に苦手意識を持っていました。
for文は便利な一方で初心者にとって1つの壁とも言えるので、しっかり学んでいきましょう!
そもそもfor文とは?どのような特徴がある?
for文は、特定のコードブロックを繰り返し実行するために利用されます。
繰り返しの回数や条件を指定することで、効率的にプログラムを実行できるのが特徴です。
基本的な構文は以下のとおり
for (初期化; 条件; 更新) {
// 繰り返し実行されるコード
}
カッコの中に注目してみましょう。
まずはじめに、変数の初期化を実施し、次にループが継続するかどうかを決定するための条件を入れ、条件がtrueの間、for文のループが実行されます。
そして3つ目には各ループの終わりに実行されるステートメントを入れており、通常はループカウンタ変数の更新が行われます。
これらを踏まえた上で、まずは基本的なfor文を見てみましょう。
基本のfor文
以下が基本的なfor文になります。
for (int i = 0; i < 5; i++) {
System.out.println("i = " + i);
}
1つ目の変数の初期化では、int型のiという変数名に0を入れた初期化を行なっています。
2つ目にはiが5よりも小さい数字のときはループを継続するという条件を入れています。
3つ目はループが1回終わるごとにiに1を足すカウントアップを行なっています。
上記for文を動かすと System.out.println(); によりコンソール画面に数字が表示されていく仕組みです。
実際にプログラムを実行すると次のような結果になります。
i = 0
i = 1
i = 2
i = 3
i = 4
より噛み砕いた説明をすると、このfor文は次のような処理の動きを行います。
- iに0の値を代入し初期化
- i < 5を比較し、5よりも下なのでループが開始
- System.out.println()によりiの数字「0」が出力される
- ループ終わりにiに1が足されてi変数が1になる
- 最初に戻り、i < 5の比較をする。1 < 5なのでループが開始
- System.out.println()によりiの数字「1」が出力される
- ループ終わりにiに1が足されてi変数が2になる
- 最初に戻り、i < 5の比較をする。2 < 5なのでループが開始
- System.out.println()によりiの数字「2」が出力される
- ループ終わりにiに1が足されてi変数が3になる
- 最初に戻り、i < 5の比較をする。3 < 5なのでループが開始
- System.out.println()によりiの数字「3」が出力される
- ループ終わりにiに1が足されてi変数が4になる
- 最初に戻り、i < 5の比較をする。4 < 5なのでループが開始
- System.out.println()によりiの数字「4」が出力される
- ループ終わりにiに1が足されてi変数が5になる
- 最初に戻り、i < 5の比較をする。5 < 5の比較で i は5より小さくないため false となりループが終わる
最初のうちは慣れないと思いますが、1つずつ読み解けば大丈夫です。
>> 未経験者でプログラミングを学びながら就活するなら【ウズカレIT】
ネストしたfor文
for文は他のfor文の中に入れることができます。for文の中にfor文を入れることをネストと呼び、入れ子ともいいます。
ネストしたfor文の使用用途としては、二次元配列や多重ループ処理のときに使われることが多いです。
内側のfor文は、外側のfor文が一回繰り返されるごとに実行されていきます。
ネストしたfor文のサンプルコードはこちら
for (int i = 0; i < 外側のループの回数; i++) {
// ここに外側のループの処理を記述
for (int j = 0; j < 内側のループの回数; j++) {
// ここに内側のループの処理を記述
}
}
ここでは、ネストしたfor文を使って、九九の表を出力する例を見ていきましょう。
使う処理は以下になります。
// 外側のfor文:1から9までの数字をループ
for (int i = 1; i < 10; i++) {
// 内側のfor文:1から9までの数字をループ
for (int j = 1; j < 10; j++) {
// i × j に半角スペースを追加
System.out.print(i * j + " ");
}
// 改行
System.out.println();
}
最初のfor文の変数 i が1のとき、内側のfor文は j を1から9までループします。
1×1, 1×2, ..., 1×9 の結果を順に出力し、内側のfor文が終了すると改行されます。
次に、変数 i が2に増加すると、再び内側のfor文が j を1から9までループします。
2×1, 2×2, ..., 2×9 の結果を順に出力し、内側のfor文が終了するたびに改行が行われます。
このプロセスを i が9になるまで繰り返します。
その結果がこちらです。
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
九九表はネストしたfor文を学ぶ上でとても役立ちます。
処理の動きが複雑になるので九九表を作りながら、処理の流れを確認していくとだいぶ身につくはずです。
拡張for文
Javaには、配列やコレクションを簡単に反復処理するための拡張for文というやり方もあります。
これを使うことで通常のfor文よりもコードがシンプルで読みやすくなります。
以下に、拡張for文を使って配列の要素を出力する例を紹介しますね。
int[] array = {10, 20, 30, 40, 50};
//初期化
int sum = 0;
for (int num : array) {
//sumにnumの数字を足していく処理
sum += num;
}
System.out.println("合計金額 = " + sum + "円");
こちらはint型の配列(箱みたいなもの)に10、20、30、40、50という5つの数字が入っています。
for (int num : array) {
上記の部分では配列arrayの中身の数字をnumという変数に入れて、ループ処理を行なっています。
配列の中身には5つの数字が入っているので5回ループが行われる仕組みです。
そして、sum += num; では配列arrayの数字を変数sumに足しています。
プログラムを実行すると次の結果がコンソールに出力されます。
合計金額 = 150円
動きとしては、
- 変数sumに変数numが受け取った10を入れてsumは10を保有
- 変数sumに変数numが受け取った20を入れてsumは30を保有
- 変数sumに変数numが受け取った30を入れてsumは60を保有
- 変数sumに変数numが受け取った40を入れてsumは100を保有
- 変数sumに変数numが受け取った50を入れてsumは150を保有
という感じですね。
>> 未経験者でプログラミングを学びながら就活するなら【ウズカレIT】
まとめ
本記事では、Javaのfor文について基本的な使い方を解説しました。
for文はプログラミングの中でも頻繁に使用されます。
基本をしっかりと理解し、様々な場面でfor文を活用できるようになることが、プログラミングスキルの向上に繋がります。
ぜひ、この記事を参考にして、実際にコードを書いてみてくださいね。
Javaを0から学ぶのにオススメの書籍がこちら
>> 未経験からでもITエンジニアを目指す人におすすめの転職サービスを紹介

独学に限界を感じてはいませんか?
専門的な学習を受けたい20代の人にオススメなのが ITエンジニア就職に特化した【ウズカレIT】です。
ウズカレITがオススメな理由は以下の通り。
- IT講師による手厚い学習サポート:プロのIT講師から直接サポートが受けられます。
- IT学習サポートが無料:費用を気にせず学習に集中できます。
- Java言語を基礎から学べる:全くの未経験でも基礎からしっかり学べます。
- 就職/転職サポートも充実:学習だけでなく、就職や転職のサポートも万全です。
- 面接対策も安心:面接対策にも力を入れており、安心して挑戦できます。
※29歳以下限定のサービス
ウズカレITは、ITエンジニアを目指す初心者や業界未経験者、求職者に特化しています。入社後の定着度は93.6%と高く、一人一人に合った職場選びをサポートしてくれる点も魅力の一つです。
興味のある方は、まずは初回カウンセリングを受けてみてはいかがでしょうか!