Knowledge Log

【Java】大量のデータも怖くない!「配列」の基本をマスターしよう

denson
1

はじめに

みなさんどうも、おげんです。

これまでの記事で、変数を使ってデータを保存したり、for文やwhile文で処理を繰り返したりする方法を学んできました。

でも、こんな場面を想像してみてください。

「クラス30人分のテストの点数を管理して、全員分を画面に表示して!」と言われたら、どうしますか?

今までの知識だと、こうなるはずです。

int score1 = 80;
int score2 = 75;
int score3 = 90;
// ……これを30個書くの!?

さらに表示する時も、System.out.println を30回書く…。

正直、100人分だったら絶望しますよね(笑)。

私も最初は「これ、手作業と変わらなくない?」と思っていました。

そんな「大量のデータをスマートにまとめたい!」という悩みを一瞬で解決してくれるのが、今回紹介する 「配列(Array)」 です。

これを使えば、30人分でも100人分でも、たった一つの「箱」で管理できるようになります。

エンジニアが大量のデータを一気に、そして正確に処理するための必須テクニックを、解説していきます!

この記事はこんな人におすすめ!
  • 似たような変数をたくさん作って、コードがぐちゃぐちゃになっている人
  • 「[0]」とか「[1]」とか、数字がついた変数の正体を知りたい人
  • 大量のデータを一瞬で処理する「エンジニアの魔法」を体験したい人
2

配列は「仕切り付きのロングロッカー」

配列を理解する一番の近道は、「同じ大きさの箱がつながったロングロッカー」をイメージすることです。

一つの大きな「ロッカー」という箱の中に、仕切りがあって、そこに複数のデータをしまえる仕組みになっています。

【超重要】数え方は「0番目」からスタート!

ここで、プログラミング初心者が必ずと言っていいほどハマる、最大のルールが登場します。

Javaの世界では、ロッカーの番号(これを インデックス と呼びます)は 「0」から数え始めます。

  • 1番目の箱 → インデックスは [0]
  • 2番目の箱 → インデックスは [1]
  • 3番目の箱 → インデックスは [2]

「なんで1からじゃないの!?」と最初は思うかもしれません(私もそうでした笑)。

でも、これはコンピュータが「基準の場所から、いくつズレているか」で場所を特定しているからなんです。

  • 0番目:基準の場所そのもの
  • 1番目:基準から1つズレた場所

「最初は違和感があるけど、これがエンジニアの共通言語なんだ」と、まずは自分を納得させてあげてください。

慣れてくると、逆に1から始まると「えっ、0は?」と不安になるようになりますよ(笑)。

配列の強み

  • 同じ種類なら何でも入る:整数のロッカー、文字のロッカーなど、用途に合わせて作れます。
  • 住所(番号)がある:番号さえわかれば、いつでも中身を取り出したり書き換えたりできます。
3

配列の作り方と使い方

配列を使うには、まずJavaに「ロッカーを何個分用意してね!」とお願いする必要があります。

① 配列を準備する(宣言と生成)

まずは、5人分の点数を入れるロッカーを作ってみましょう。

int[] scores = new int[5];
  • int[]: 「整数のロッカー(配列)ですよ!」という宣言。
  • scores: ロッカーの名前(何でもOK!)。
  • new int[5]: 「新しい(new)5個分の仕切りがあるロッカーを作って!」という命令。

これで、Javaがメモリの中に「5つ空きがあるロッカー」を確保してくれます。

② 値を入れる(代入)

作ったロッカーに、実際に点数を入れていきます。

ここで「0番目」スタートを思い出しましょう!

scores[0] = 80;  // 1番目のロッカー
scores[1] = 95;  // 2番目のロッカー
scores[2] = 70;  // 3番目のロッカー

③ 値を取り出す(参照)

取り出す時も、番号を指定するだけです。

System.out.println("1番目の人の点数は " + scores[0] + " 点です。");

最初は「int[] って書いたり new int[5] って書いたり、長くて面倒だな」って思うかもしれません。

でも、これって「ロッカーの種類」と「ロッカーのサイズ」をJavaにハッキリ伝えているんです。

生真面目なJavaに「適当にいい感じの箱を用意して!」は通じません。

だからこそ、この丁寧な書き方が大事なんですね。

4

配列 × for文 = 魔法の自動化

配列の本当の凄さは、for文(繰り返し)と組み合わせた時に爆発します。

さっきの5人分の点数、1行ずつ表示するのはやっぱり面倒ですよね。でも、for文を使えば、たとえデータが100人分になってもたった3行で終わります。

魔法のコードを見てみよう

int[] scores = {80, 95, 70, 65, 90}; // 配列の準備(ショートカット版!)

for (int i = 0; i < scores.length; i++) {
    System.out.println((i + 1) + "番目の点数は" + scores[i] + "点です");
}

ここが「楽」をするポイント!

  1. カウンター変数 i をそのまま使う
    • これで、ロッカーを順番に自動で開けていけるんです。
    • for文の i(0, 1, 2…)を、そのまま配列のインデックス scores[i] として使っちゃいます。
  2. scores.length という必殺技
    • これ、めちゃくちゃ便利です。
    • 配列の名前のあとに .length と付けるだけで、「このロッカー、全部で何個ある?」 という数をJavaが自動で数えてくれます。
    • これを使えば、後からロッカーを10個に増やしても100個に増やしても、for文のコードを書き直す必要が一切ありません!
5

注意!「存在しないロッカー」を開けないで

配列を扱っていると、突然画面が真っ赤になって、Javaがこんな叫び声を上げることがあります。

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException

「うわっ、なんかすごい長くて怖いのが出た!」と焦るかもしれませんが、安心してください。

これ、翻訳するとこう言っているだけなんです。

「用意されたロッカーの番号を、はみ出してるよ!」

なぜ怒られるの?

例えば、5個分のロッカー(インデックス 0〜4)を作ったのに、うっかり「6番目を見せて!」と指示しちゃうと発生します。

int[] scores = new int[5];
System.out.println(scores[5]); // 5番目(実は6つ目)を指定してしまった!

Javaは、言われたことには忠実ですが、存在しない場所については「えっ、どこ!? 無理無理!」とパニックになって止まってしまいます。

実はこのエラー、for文の条件式を書き間違えたときによく起きます。

  • i < scores.length ならOK。
  • i <= scores.length としちゃうと、最後にはみ出してエラー!

「エラーが出た!」と落ち込む必要はありません。

「おっと、Java、ロッカーの端っこで迷子になっちゃったかな?」と、for文の条件式を見直してあげましょう。

実はこれ、エンジニア転職の面接や試験でも「よくあるエラーは?」と聞かれたときに真っ先に名前が上がるものなので、覚えておくと「お、わかってるな!」と思ってもらえますよ。

深掘り:呪文のようなエラー名を解剖してみよう

ArrayIndexOutOfBoundsException これ、初めて見た時は「呪文かよ!」って突っ込みたくなりますよね(笑)。

でも、単語をバラバラにしてみると、実はすごくシンプルなことを言っているんです。

  • Array(アレイ):配列
  • Index(インデックス):添え字(ロッカーの番号)
  • Out Of Bounds(アウト・オブ・バウンズ):範囲外、はみ出している
  • Exception(エクセプション):例外(エラーのこと)

つなげると、「配列の番号が、決まった範囲からはみ出してるよエラー」という意味になります。

スポーツでも、ボールがコートの外に出ることを「アウト・オブ・バウンズ」って言いますよね。

それと同じで、Javaが「おいおい、そこは僕の管理してるコートの外だよ!」とホイッスルを吹いて教えてくれているんです。

これを知っておくだけで、画面にこの文字が出た時に「あ、番号がズレてるだけか」って冷静になれますよ!

6

まとめ:配列は大量データを扱う「整理棚」

今回は、たくさんのデータをひとまとめに管理できる「配列」について解説しました。

  • 配列は、同じ種類のデータを入れる「仕切り付きロッカー」。
  • 数え方は必ず「0」からスタートする(エンジニアの鉄則!)。
  • .length を使えば、データの数をJava君が自動で数えてくれる。
  • for文と組み合わせることで、100個のデータも一瞬で処理できる。
  • 範囲外を指定すると ArrayIndexOutOfBoundsException(はみ出しエラー)が出る。

最初は「0から数える」ことに違和感があったり、エラー名が長くて驚いたりするかもしれません。

でも、配列をマスターすると、バラバラだった変数がスッキリ整理されて、コードが劇的にプロっぽくなります。

「大量のデータを一気に、正確に操る」。 これこそが、プログラミングの醍醐味であり、エンジニアとしての楽しさが詰まった部分です。

ぜひ、自分の好きなもの(プロテインの味、好きなゲームのキャラ、1週間の予定など)を配列に入れて、for文で表示させる練習をしてみてくださいね!

今回も最後まで読んでいただき、ありがとうございました。 一緒に進んでいきましょう!

あわせて読みたい
【Java】面倒なことはJavaに任せよう!「繰り返し(for文)」の基本を解説
【Java】面倒なことはJavaに任せよう!「繰り返し(for文)」の基本を解説
あわせて読みたい
【Java】いつ終わるかわからない?「while文」で条件に合うまで繰り返そう!
【Java】いつ終わるかわからない?「while文」で条件に合うまで繰り返そう!
あわせて読みたい
【Java】意外と知らない「System.out.println」の正体
【Java】意外と知らない「System.out.println」の正体
ABOUT ME
おげん
おげん
駆け出しエンジニア
文系未経験からエンジニアになるために挑戦を開始したアラサー。転職活動を終え、2026年4月からIT企業で勤務予定。自分が学習で苦労した経験を『誰かのための道しるべ』として発信中。
記事URLをコピーしました