Java入門

【Java入門】配列

2021年4月9日

はじめに

前回の記事では、Javaの変数について紹介しました。

前回の記事

本記事では、Javaの配列について紹介します。

配列とは

配列とは、複数の同じ型の変数を1つにまとめたものです。

変数は、数値や文字などを格納しておく箱のようなものです。変数には1つの値しか格納することができません。それに比べて配列は、数値や文字などを格納しておく箱のようなものが複数あるため、複数の値を格納することができます。

以下は、変数と配列のイメージ図です。

配列のイメージ

配列要素の参照と代入

それでは、実際にプログラムで配列を宣言し、配列に値を代入、そして代入した値を参照する方法を説明していきます。

スポンサーリンク

[配列の例]

public class ArraySample {

    public static void main(String[] args) {
         int[] a = new int[4];
         
        // 配列に値を代入
        a[0] = 100;
        a[1] = 111;
        a[2] = 222;
        a[3] = 333;
        a[4] = 444;
        
        // 配列の値を参照
        System.out.println("配列の0番目の値:" + a[0]);
        System.out.println("配列の1番目の値:" + a[1]);
        System.out.println("配列の2番目の値:" + a[2]);
        System.out.println("配列の3番目の値:" + a[3]);
    }
}

[実行結果]

配列の0番目の値:100
配列の1番目の値:111
配列の2番目の値:222
配列の3番目の値:333

まず配列の宣言はnew演算子を用いて次のように行います。

int[] a = new int[4];

int[4]の4は配列の大きさ(要素数)をあらわしています。(int型の箱を4つ作るイメージ)

そして、配列への代入は次のように行います。

a[0] = 100;

a[1] = 111;

a[2] = 222;

a[3] = 333;

配列は"0"から指定するため、a[4]を指定すると配列の範囲外となりエラーが発生します。

配列の大きさは4だから、a[4]と指定しちゃいそうだ・・・
そうなんですよね。配列に指定できる数値は「0」~「要素数 - 1」の値です。この範囲以外の値を指定するとエラーになるので注意が必要です。

今回の例では、new演算子を用いて、配列を宣言していますが、次のようにnew演算子を使わずに配列を宣言し、値を代入することもできます。

int[] a = {100,111,222,333};

配列の要素数を求める

配列の要素数を求めるには「length」を使用します。

[lengthの使用例]

public class ArrayLengthSample {

    public static void main(String[] args) {
        
        int[] a = new int[4];
        
        a[0] = 100;
        a[1] = 111;
        a[2] = 222;
        a[3] = 333;
        
        System.out.println("配列の要素数:" + a.length);
    }
}

[実行結果]

配列の要素数:4

多次元配列とは

多次元配列とは、2次元配列以上の配列のことです。

1次元配列は、要素数に応じて横に増えていくイメージの配列です。

1次元配列

それに対して2次元配列は、要素数に応じて縦と横に増えていくイメージの配列。

2次元配列

3次元配列は、要素数に応じて縦と横に増えさらにそれを積み重ねたイメージの配列です。

3次元配列

もっと複雑な4次元配列以上の配列もあります。

これ以上複雑になると、理解するのも苦労しそうだ・・・

スポンサーリンク

多次元配列への代入と参照

それでは、実際にプログラムで多次元配列(今回の例は2次元配列)を宣言し、多次元配列に値を代入、そして代入した値を参照する方法を説明していきます。

[2次元配列の例]

public class MultiArraySample {
    
    public static void main(String[] args) {
        
        // 2次元配列の作成
        int[][] a = {
                {1,2,3},
                {10,11,12}
        };
        
        // 2次元配列の値を参照
        System.out.println("配列の[0]の0番目の値:" + a[0][0]);
        System.out.println("配列の[0]の1番目の値:" + a[0][1]);
        System.out.println("配列の[0]の2番目の値:" + a[0][2]);
        System.out.println("配列の[1]の0番目の値:" + a[1][0]);
        System.out.println("配列の[1]の1番目の値:" + a[1][1]);
        System.out.println("配列の[1]の2番目の値:" + a[1][2]);
    }
}

[実行結果]

配列の[0]の0番目の値:1
配列の[0]の1番目の値:2
配列の[0]の2番目の値:3
配列の[1]の0番目の値:10
配列の[1]の1番目の値:11
配列の[1]の2番目の値:12

new演算子を用いて多次元配列を宣言することもできますが、今回の例ではnew演算子を使用せず、多次元配列を宣言し、値を代入しています。

■new演算子で多次元配列を宣言する場合

int[][] a = new int[3][3];

■new演算子を使わずに、多次元配列に値を代入する場合

int[][] a = {
{1,2,3},
{10,11,12}
};

2次元配列への代入は次のように行います。

a[0][1] = 1;

上記例ではa[0][1]に1を代入しています。

そして、2次元配列の値の参照は次のように行います。

System.out.println(a[0][0]);

上記例ではa[0][0]の値を表示しています。

多次元配列の要素数を求める

多次元配列の要素数を求めるには「length」を使用します。

[lengthの使用例]

public class MultiArrayLengthSample {

  public static void main(String[] args) {
    
      int[][] a = {
              {1,2,3},
              {10,11}
      };
      
      System.out.println("配列の[0]の要素数:" + a[0].length);
      System.out.println("配列の[1]の要素数:" + a[1].length);
  }
}

[実行結果]

配列の[0]の要素数:3
配列の[1]の要素数:2

終わりに

本記事では、Javaの配列について紹介しました。

次回の記事ではJavaの演算子(算術演算子、代入演算子、インクリメント演算子、デクリメント演算子)について紹介します。

helpful