はじめに
ここまでで配列の基本から、ループ・二次元配列・メソッドまで扱えるようになったね。
最終回は 「実用でよくあるパターン」 と 「初心者がつまずきやすい落とし穴」 を整理します。
「ここに気をつければ大丈夫!」という点をリストアップ!!
🎓 実用でよくある配列の使い方
並び替え(ソート)
int[] nums = {5, 2, 8, 1};
// 簡単なバブルソート
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length - 1; j++) {
if (nums[j] > nums[j + 1]) {
int temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (int i = 0; i < nums.length; i++) {
System.out.println(nums[i]);
}
探す(検索)
int[] nums = {10, 20, 30};
int target = 20;
boolean found = false;
for (int i = 0; i < nums.length; i++) {
if (nums[i] == target) {
found = true;
break;
}
}
System.out.println("見つかった?: " + found);
まとめ(集計)
int[] scores = {55, 80, 100, 60, 70};
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum = sum + scores[i];
}
System.out.println("合計: " + sum);
System.out.println("平均: " + (double) sum / scores.length);
🎓 よくある落とし穴
1. 添字の範囲ミス
int[] nums = {1, 2, 3};
System.out.println(nums[3]); // エラー!範囲外
2. 初期化忘れ
int[] nums;
nums[0] = 10; // エラー!配列を new してない
3. 参照コピーの勘違い
int[] a = {1, 2, 3};
int[] b = a; // 同じものを指す
b[0] = 999;
System.out.println(a[0]); // 999(aも変わってしまう)
4. 二次元配列の length の使い方
int[][] m = new int[3][4];
System.out.println(m.length); // 3(行数)
System.out.println(m[0].length); // 4(列数)
行と列の length の違いで混乱しやすいから注意!
🎓 デバッグのコツ
配列の中身をまとめて見たいときは Arrays.toString や Arrays.deepToString を使うと便利。
import java.util.Arrays;
int[] nums = {1, 2, 3};
System.out.println(Arrays.toString(nums));
int[][] m = {
{1, 2},
{3, 4}
};
System.out.println(Arrays.deepToString(m));
出力:
[1, 2, 3]
[[1, 2], [3, 4]]
⚡ ピカチュウ例:草むらに敵ポケモンが潜んでいる!
int n = 5;
String[][] field = new String[n][n];
// 草むらで初期化
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
field[i][j] = "🌿";
}
}
// 対角線上に敵ポケモン配置(かわいい系)
String[] enemies = {"🐭", "🐰", "🐥", "🐢", "🐸"};
for (int i = 0; i < n; i++) {
field[i][i] = enemies[i];
}
// 出力
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(field[i][j] + " ");
}
System.out.println();
}
出力:
🐭 🌿 🌿 🌿 🌿
🌿 🐰 🌿 🌿 🌿
🌿 🌿 🐥 🌿 🌿
🌿 🌿 🌿 🐢 🌿
🌿 🌿 🌿 🌿 🐸
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい…」って思ってた人も、
「ちょっと楽しいかも…!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!