Java の for 文とは?繰り返し処理をマスターしよう
新人
「Java で同じ処理を何度も繰り返す方法はありますか?」
先輩
「あるよ!Java では for 文 を使うことで、指定した回数だけ繰り返し処理を実行できるんだ。」
新人
「for 文ってどんなものですか?」
先輩
「for 文を使うと、例えば「1 から 10 までの数字を表示する」といった処理を簡単に書けるよ。具体的に説明していこう!」
1. for 文とは?(基本的な説明)
Java の for 文 は、同じ処理を決められた回数だけ繰り返すための制御文です。
for 文の特徴
- 繰り返しの回数をあらかじめ指定できる
- ループの開始と終了の条件を明確に書ける
- プログラムの処理を効率的にできる
例えば、「1 から 5 までの数字を順番に表示する」といった処理を for 文で書くと、短いコードで実現できます。
2. for 文の基本的な書き方
for 文を使って、繰り返し処理を実行する基本的な書き方を見てみましょう。
for 文の基本構文
public class ForExample {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) { // 1 から 5 まで繰り返す
System.out.println("現在の値: " + i);
}
}
}
現在の値: 1
現在の値: 2
現在の値: 3
現在の値: 4
現在の値: 5
for 文の構造
for 文は、以下の 3 つの部分で構成されます。
- 初期化(
int i = 1):繰り返しの最初に 1 回だけ実行される - 条件(
i <= 5):この条件が true の間、ループを続ける - 更新(
i++):ループごとに i の値を 1 増やす
例えば、i = 1 からスタートし、i の値が 5 以下の間ループを続け、ループのたびに i を 1 増やします。
for 文のポイント
- 繰り返す回数を明確に指定できる
- ループの回数が決まっている場合に適している
- 初期化、条件、更新を適切に書かないと、無限ループになる可能性がある
例えば、i++ を書かずに for 文を書くと、i の値が増えずに、無限にループしてしまいます。
3. for 文で数値を使った繰り返し処理を実装する
for 文を使うことで、数値を増やしながら繰り返し処理を実行することができます。例えば、「1 から 10 までの数を表示する」プログラムを作成してみましょう。
数値の繰り返し処理の例
public class NumberLoop {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) { // 1 から 10 まで繰り返す
System.out.println("現在の数: " + i);
}
}
}
現在の数: 1
現在の数: 2
現在の数: 3
現在の数: 4
現在の数: 5
現在の数: 6
現在の数: 7
現在の数: 8
現在の数: 9
現在の数: 10
ポイント
for (int i = 1; i <= 10; i++)のように記述することで、1 から 10 までの範囲を指定できる- ループごとに
iが 1 ずつ増加する - ループが終わると
iの値は 10 を超えるので、繰り返しが終了する
この方法を使うことで、特定の範囲の数値を扱う処理を簡単に記述できます。
4. for 文で文字列を繰り返し処理する(文字を1文字ずつ表示)
for 文を使って、文字列の各文字を 1 文字ずつ処理することも可能です。例えば、「Hello」という単語の各文字を 1 文字ずつ表示するプログラムを作ってみましょう。
文字列を1文字ずつ表示する for 文の例
public class CharLoop {
public static void main(String[] args) {
String text = "Hello";
for (int i = 0; i < text.length(); i++) { // 文字列の長さまで繰り返す
System.out.println("文字: " + text.charAt(i));
}
}
}
文字: H
文字: e
文字: l
文字: l
文字: o
ポイント
text.length()を使って、文字列の長さ分ループするtext.charAt(i)を使うことで、i 番目の文字を取得できる- この方法を使うと、文字列の各文字に対して処理を行える
例えば、パスワードチェックなどで 1 文字ずつ解析する場合にも応用できます。
5. for 文で変数を使って繰り返しの回数を変更する
for 文の繰り返し回数を事前に決めず、変数を使って柔軟に変更することも可能です。例えば、ユーザーが指定した回数だけメッセージを表示するプログラムを作ってみましょう。
変数を使って回数を変更する for 文の例
public class VariableLoop {
public static void main(String[] args) {
int repeatCount = 3; // 繰り返し回数を変数で設定
for (int i = 1; i <= repeatCount; i++) {
System.out.println("これは " + i + " 回目のメッセージです。");
}
}
}
これは 1 回目のメッセージです。
これは 2 回目のメッセージです。
これは 3 回目のメッセージです。
ポイント
- 繰り返し回数を変数
repeatCountで管理 - 変数の値を変更すれば、簡単にループの回数を変えられる
- 動的にループ回数を決定できるため、さまざまな場面で活用可能
この方法を使えば、ループの回数をプログラムの途中で変更できるので、柔軟な繰り返し処理を作成できます。
6. for 文を使って数の合計を求める(累積計算)
for 文を使うことで、数値を順番に足して合計を求めることができます。例えば、「1 から 10 までの合計」を求めるプログラムを作成してみましょう。
for 文で合計を計算する例
public class SumExample {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 10; i++) { // 1 から 10 まで繰り返す
sum += i; // sum に i を加算
}
System.out.println("1 から 10 までの合計: " + sum);
}
}
1 から 10 までの合計: 55
ポイント
sumという変数を用意し、0 からスタートさせる- for 文の中で
sum += iのようにして数値を加算する - ループが終了すると、すべての数値を足した結果が
sumに入る
この方法を使えば、1 から 100 までの合計や、特定の範囲の数値の合計を求めることも簡単にできます。
7. for 文を使った応用例(九九の表を表示する)
for 文を使うことで、九九の表を表示することができます。九九は、1 から 9 までの掛け算を表にしたもので、for 文を使えば簡単に作成できます。
九九の表を表示する for 文の例
public class MultiplicationTable {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) { // 1 から 9 までの段
for (int j = 1; j <= 9; j++) { // 1 から 9 までの数
System.out.print(i * j + "\t");
}
System.out.println(); // 改行
}
}
}
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 文を 2 重にすることで、すべての組み合わせを表示する
- 掛け算の結果を
System.out.print()で横並びに表示する - 1 行ずつ改行を入れるために、内側のループが終わるごとに
System.out.println()を実行
この方法を使えば、九九の表を簡単に作成できるだけでなく、他の計算表にも応用できます。
8. 練習問題:for 文を使ったプログラムを作ろう
for 文を使った練習問題に挑戦してみましょう。次のプログラムを作成してみてください。
練習問題 1: 偶数だけを表示する
1 から 20 までの数のうち、偶数だけを表示するプログラムを作成してください。
public class EvenNumbers {
public static void main(String[] args) {
for (int i = 2; i <= 20; i += 2) { // 2 ずつ増やす
System.out.println(i);
}
}
}
2
4
6
8
10
12
14
16
18
20
練習問題 2: 三角形のパターンを作る
for 文を使って、以下のような三角形のパターンを表示するプログラムを作成してください。
*
**
***
****
*****
public class TrianglePattern {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) { // 行数のループ
for (int j = 1; j <= i; j++) { // * の数を決めるループ
System.out.print("*");
}
System.out.println(); // 改行
}
}
}
*
**
***
****
*****
練習問題 3: 数の累乗を計算する
for 文を使って、2 の累乗を計算するプログラムを作成してください。
public class PowerOfTwo {
public static void main(String[] args) {
int base = 2;
int exponent = 5;
int result = 1;
for (int i = 1; i <= exponent; i++) {
result *= base; // result に base を掛ける
}
System.out.println(base + " の " + exponent + " 乗は " + result + " です。");
}
}
2 の 5 乗は 32 です。
まとめ
for 文を使うことで、繰り返し処理を簡単に実装できます。数の合計を求めたり、九九の表を作ったり、パターンを表示したりすることができます。いろいろなパターンで練習しながら、for 文の使い方をしっかりと身につけましょう。