• Xでシェア
  • LINEでシェア
  • このエントリーをはてなブックマークに追加

Java 配列(array)の使い方

この記事のポイント

  • Javaの配列(array)の基本概念と使い方の理解
  • 配列の宣言および初期化構文の習得
  • for文および拡張for文による配列要素処理・検索・並び替え
  • 実用的なコード例を通じたプログラミングパターンの習得

目次

Javaにおけるarrayとは?

Javaの配列(array)とは、同じデータ型である複数の値を1つの変数にまとめて格納できるデータ構造のことです。実際の開発環境では、複数の数値や文字列を効率的に管理したい場合に使用します。

配列内の各要素には、インデックス番号(0から始まる連番)が割り当てられます。このインデックスを通じて、特定要素にアクセスできる形です。配列のサイズは宣言時に決定されるルールとなっており、あとで変更することはできません。

Javaの配列(array)は、開発現場で大量データを扱ううえで欠かせないデータ構造の一つでしょう。

【関連】
Javaをもっと詳しく学ぶならpaizaラーニング

基本構文

Javaにおける配列の基本構文には、宣言と初期化という2つの主要パターンがあります。

配列の宣言では、「データ型[] 配列名」の形式を使い、初期化では「new データ型[サイズ]」で配列のサイズを指定する形です。また、宣言と同時に値を設定する場合は、「{値1, 値2, 値3}」の形式で初期値を指定できます。

配列の要素にアクセスする際は、「配列名[インデックス]」を使います。この場合、インデックスが0から始まる点に注意しましょう。これらの基本構文の理解は、効率的な配列操作に欠かせないものとなります。

public class Main { public static void main (String[] args) { // 配列の宣言と初期化 int[] numbers = new int[3]; numbers[0] = 10; numbers[1] = 20; numbers[2] = 30; System.out.println(numbers[1]); } }

出力結果:

20
public class Main { public static void main (String[] args) { // 宣言時に初期値を設定 String[] animals = {"イヌ", "ネコ", "ウサギ"}; System.out.println(animals[0]); System.out.println(animals.length); } }

出力結果:

イヌ
3

実用例

ここからは、Java配列の実用的な使用例について、複数のコード例を見ながら詳しく解説します。このセクションの内容に最後まで目を通すと、実際のプログラミングでよく使われる配列操作パターンを学習できるでしょう。

各コード例では、動物の名前や数値を使ったシナリオを通じて、配列のさまざまな活用方法を示します。具体的には、配列の要素を順次処理するループ処理、配列内の値を検索する方法、配列の要素を並び替える処理といった実践的な技術を習得できるでしょう。

Javaプログラミング初心者の方は、これから紹介するコード例をぜひともご自身の開発環境に実装してみてください。コードに触れながら配列操作を実際に行うと、各テクニックを適材適所で使う判断力や課題解決力なども身につきます。

失敗を恐れず、ぜひとも多くのコードを書いてみてください。

配列の全要素を表示する基本的なループ処理

以下で示したのは、配列に格納された全要素を順番に表示する処理です。for文を使って配列のインデックスを0から配列の長さまで順次アクセスし、各要素を表示するものとなります。

public class Main { public static void main (String[] args) { String[] pets = {"イヌ", "ネコ", "ハムスター", "インコ"}; for (int i = 0; i < pets.length; i++) { System.out.println((i + 1) + "番目: " + pets[i]); } } }

出力結果:

1番目: イヌ
2番目: ネコ
3番目: ハムスター
4番目: インコ

拡張for文を使用したシンプルな配列処理

拡張for文を使うと、インデックスを意識することなく配列の全要素を処理できます。拡張for文には、コードをより簡潔で読みやすくするメリットもあるでしょう。配列の値を合計する処理などに適したテクニックです。

public class Main { public static void main (String[] args) { int[] weights = {5, 3, 12, 8, 15}; int total = 0; for (int weight : weights) { total += weight; } System.out.println("動物の総重量: " + total + "kg"); } }

出力結果:

動物の総重量: 43kg

配列内の特定の値を検索する処理

以下で示したのは、配列内に特定の値が存在するかどうかを検索し、見つかった場合はそのインデックスを表示する処理です。線形検索の基本的な実装テクニックであり、条件分岐と組み合わせて使用するものとなります。

public class Main { public static void main (String[] args) { String[] zoo = {"ライオン", "ゾウ", "キリン", "サル"}; String target = "ゾウ"; for (int i = 0; i < zoo.length; i++) { if (zoo[i].equals(target)) { System.out.println(target + "は" + (i + 1) + "番目にいます"); } } } }

出力結果:

ゾウは2番目にいます

配列の最大値と最小値を求める処理

以下で示したのは、配列内の数値から最大値と最小値を見つける処理です。最初の要素を初期値として設定し、条件分岐を使用して配列の各要素を比較しながら最大値と最小値を特定しています。

public class Main { public static void main (String[] args) { int[] ages = {3, 7, 1, 12, 5}; int max = ages[0], min = ages[0]; for (int age : ages) { if (age > max) { max = age; } if (age < min) { min = age; } } System.out.println("最高齢: " + max + "歳, 最年少: " + min + "歳"); } }

出力結果:

最高齢: 12歳, 最年少: 1歳

配列の要素を逆順に表示する処理

以下で示したのは、配列の要素を元の順序とは逆順で表示する処理です。配列の最後のインデックスから0まで、for文のループを逆向きに実行することで、うしろから順番に要素を表示しています。

public class Main { public static void main (String[] args) { String[] birds = {"ハト", "カラス", "スズメ", "ツバメ"}; System.out.println("逆順表示:"); for (int i = birds.length - 1; i >= 0; i--) { System.out.println(birds[i]); } } }

出力結果:

逆順表示:
ツバメ
スズメ
カラス
ハト

配列の要素数をカウントする条件付き処理

以下で示したのは、配列内の要素のうち、特定の条件を満たすものの個数をカウントする処理です。条件分岐とカウンタ変数を組み合わせて実装することで、条件に合致する要素のカウントが可能となります。

public class Main { public static void main (String[] args) { int[] scores = {85, 92, 78, 96, 88}; int highScore = 0; for (int score : scores) { if (score >= 90) { highScore++; } } System.out.println("90点以上の動物: " + highScore + "匹"); } }

出力結果:

90点以上の動物: 2匹

二次元配列を使用した表形式データの処理

以下で示したのは、二次元配列を使って表形式のデータを格納し、行と列の両方向にアクセスしてデータを表示する処理です。ネスト(入れ子)したfor文を使うことにより、二重ループで処理しています。

public class Main { public static void main (String[] args) { String[][] farm = {{"ウシ", "ブタ"}, {"ニワトリ", "ヤギ"}}; for (int i = 0; i < farm.length; i++) { for (int j = 0; j < farm[i].length; j++) { System.out.print(farm[i][j] + " "); } System.out.println(); } } }

出力結果:

ウシ ブタ
ニワトリ ヤギ

配列の要素を別の配列にコピーする処理

以下で示したのは、元の配列から新しい配列に要素をコピーする処理です。System.arraycopyメソッドを使用することで効率的なコピーが可能となります。また、コピー後は個別の要素も変更可能です。

public class Main { public static void main (String[] args) { String[] original = {"トラ", "ヒョウ", "チーター"}; String[] copy = new String[original.length]; System.arraycopy(original, 0, copy, 0, original.length); copy[1] = "パンダ"; System.out.println("コピー後: " + copy[1]); } }

出力結果:

コピー後: パンダ

まとめ

Javaの配列は、同じデータ型である複数の値を効率的に管理できる基本的なデータ構造です。

宣言、初期化、要素へのアクセス方法を理解し、ループ処理や検索、並び替えなどの基本操作を習得することで、さまざまなプログラミング場面で活用できます。

Javaプログラミング初心者の方は、実用例で示したコードパターンを参考にしながら実際の開発で配列を効果的に使用し、より良いプログラムを作成してください。配列操作をマスターすると、データ処理能力が大幅に向上します。

レベルを更に上げたい方はpaizaプログラミングスキルチェック

  1. paizaラーニングトップ
  2. リファレンス
  3. Javaのリファレンス記事一覧
  4. Java 配列(array)の使い方