実務で使う「for文」サンプル集(初心者向け)
ここまでで for 文の「基礎の動き」はしっかり理解できたと思います。
次のステップとして「実務でよく出てくる for 文の使い方(Java)」を見ていきましょう。
下の例は、実際にアプリ開発・業務システムなどでよく使われる for 文の使い方です。
ポイントは「単純に回すだけじゃなく、データを処理・変換・検証する」こと。
1. 入力データを検証する(バリデーション)
たとえば「ユーザー名の一覧をチェックして、空文字がないか調べる」
String[] names = {"Alice", "Bob", "", "Charlie"};
boolean hasEmpty = false;
for (int i = 0; i < names.length; i++) {
if (names[i].isEmpty()) {
System.out.println("⚠️ 空の名前があります(index: " + i + ")");
hasEmpty = true;
}
}
if (!hasEmpty) {
System.out.println("すべての名前が正しく入力されています。");
}
Java出力:
⚠️ 空の名前があります(index: 2)
📘ポイント:
- 実務では入力チェックが超頻出。
ifと組み合わせて、条件に合う要素を探したり報告する。break;を使って「見つけたら即終了」にしてもOKです。
2. データの集計(合計・平均など)
顧客の購入金額を集計するイメージ。
int[] purchase = {1200, 3000, 2500, 4000};
int total = 0;
for (int i = 0; i < purchase.length; i++) {
total += purchase[i];
}
double average = (double) total / purchase.length;
System.out.println("合計金額: " + total + "円");
System.out.println("平均金額: " + average + "円");
Java出力:
合計金額: 10700円
平均金額: 2675.0円
📘ポイント:
業務システム(販売管理、請求書、自動集計など)でほぼ必ず登場します。
for 文は「数値を回して足す・数える」に最適。
3. 特定条件に合うデータを抽出
例:「点数80点以上の学生を表示」
String[] names = {"Aki", "Haru", "Natsu", "Fuyu"};
int[] scores = {95, 62, 88, 70};
System.out.println("80点以上の人:");
for (int i = 0; i < scores.length; i++) {
if (scores[i] >= 80) {
System.out.println(" - " + names[i] + " さん (" + scores[i] + "点)");
}
}
Java出力:
80点以上の人:
- Aki さん (95点)
- Natsu さん (88点)
📘ポイント:
「2つの配列を同じインデックスで対応付けて処理する」も実務ではよくやります。
(顧客名と購入金額、商品IDと在庫数、など)
4. for + 配列加工(変換処理)
例:「文字列配列をすべて大文字に変換して別の配列に入れる」
String[] users = {"alice", "bob", "charlie"};
String[] upperUsers = new String[users.length];
for (int i = 0; i < users.length; i++) {
upperUsers[i] = users[i].toUpperCase();
}
System.out.println(Arrays.toString(upperUsers));
Java出力:
[ALICE, BOB, CHARLIE]
📘ポイント:
「データを読み込んで → 加工して → 新しい形式に変える」処理は、
ログ整形、ファイル出力、API連携などで非常に頻繁に使われます。
5. 多重ループ(ネスト)で組み合わせを処理
例:「部署 × 担当者」のすべての組み合わせを出力
String[] departments = {"営業", "開発"};
String[] members = {"山田", "佐藤", "鈴木"};
for (int i = 0; i < departments.length; i++) {
for (int j = 0; j < members.length; j++) {
System.out.println(departments[i] + "部:" + members[j] + "さん");
}
}
Java出力:
営業部:山田さん
営業部:佐藤さん
営業部:鈴木さん
開発部:山田さん
開発部:佐藤さん
開発部:鈴木さん
📘ポイント:
- 「2つのリストの全組み合わせを処理」するのは、レポート作成・組み合わせテストなどでよくあります。
- ただし、組み合わせ数が多くなると処理が重くなるので注意。
6. for-each(拡張 for)を使う(実務で頻出)
「配列の中身を順番に全部処理したい」だけなら、拡張 for が便利。
String[] users = {"Aki", "Haru", "Natsu"};
for (String u : users) {
System.out.println(u + " さんにメール送信中...");
}
Java出力:
Aki さんにメール送信中...
Haru さんにメール送信中...
Natsu さんにメール送信中...
📘ポイント:
- 実務コードでは「indexを使わない」ならこの書き方が推奨されます。
- 読みやすく、バグが少なくなります。
7. 実務ミニアプリ例:ログ中の「ERROR」を検出する
システムログを1行ずつ調べて、"ERROR" を含む行をカウント。
String[] logs = {
"INFO: Start process",
"INFO: User login",
"ERROR: DB connection failed",
"INFO: Retry connection",
"ERROR: Timeout"
};
int errorCount = 0;
for (int i = 0; i < logs.length; i++) {
if (logs[i].contains("ERROR")) {
System.out.println("⚠️ エラー行: " + logs[i]);
errorCount++;
}
}
System.out.println("合計エラー数: " + errorCount);
Java出力:
⚠️ エラー行: ERROR: DB connection failed
⚠️ エラー行: ERROR: Timeout
合計エラー数: 2
📘ポイント:
こういう「ログ監視」や「CSVチェック」「APIレスポンス検証」で for 文は大活躍。
基本的な for 文の応用パターンです。
まとめ:実務での「for文」チェックリスト
| 目的 | よく使う書き方 |
|---|---|
| 入力チェック | if + continue / break |
| 集計・統計 | 合計 / 平均 / 件数カウント |
| 抽出 | 条件分岐でフィルタリング |
| 加工・整形 | 文字列や数値の変換 |
| 組み合わせ処理 | for のネスト |
| ログ処理 | contains / startsWith で検索 |
| 拡張for | 単純な全要素処理 |

