配列の宣言と配列の作成

Java で配列を利用するには、最初に扱うデータ型を指定して配列を宣言する必要があります。そして、宣言のあとで必要な数の要素数を指定して配列を作成する必要があります。ここでは Java で配列を利用するための配列の宣言と配列の作成を行う手順について解説します。

(Last modified: )

配列を宣言する

配列を利用するための最初の手順は配列を宣言することです。変数を利用するときにもデータ型と変数名を指定して変数の宣言を行いましたが、配列でも同じようにデータ型と配列名を指定して宣言を行います。書式は次のとおりです。

データ型[] 配列変数名

配列では複数の値をまとめて管理することができますが、扱うデータ型は同じでなくてはなりません。配列で扱うデータ型を指定して配列を宣言します。例えば int 型の値を扱う配列であれば次のように宣言します。

int[] num;

※ 配列変数名の名前のルールについては変数名の場合と同じです。詳しくは「変数名のつけ方(識別子)」を参照して下さい。

なお Java では配列の宣言を行うために次の書式も利用できます。

データ型 配列変数名[]

例えばこの書式で int 型の値を扱う配列であれば次のように宣言します。

int num[];

どちらでも違いはありませんので、どちらかで統一してコードを記述してください。このサイトでは最初の書式を利用します。

配列を作成する

配列の宣言が終わりましたら、今度は配列そのものを作成します。変数の場合は宣言するだけで値を保管する場所が確保されますが、配列の場合は複数の値を管理するため、いくつの値を管理するのかを指定して配列を作成する必要があります。書式は次のとおりです。

配列変数名 = new データ型[要素数]

配列では一つ一つの値を保管する場所のことを要素と呼びます。配列で 5 つの値を格納するのであれば要素が 5 つ必要となります。

例えば int 型の値を扱う配列で、要素が 5 つの配列を作成するには次のように記述します。

int[] num;
num = new int[5];

配列の宣言と配列の作成をまとめて次のように記述しても構いません。

int[] num = new int[5];

これで配列に対して値を格納したり、格納した値を取り出すことができるようになります。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample2-1.java という名前で保存します。

class JSample2_1{
  public static void main(String[] args){
    int[] result = new int[3];

    result[0] = 75;
    result[1] = 88;
    result[2] = 82;

    for (int i = 0 ; i < 3 ; i++){
      System.out.println(result[i]);
    }
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample2_1.java

その後で、次のように実行してください。

java JSample2_1

配列の宣言と配列の作成(1)

int 型の配列を宣言し、 3 つの要素を持つ配列を作成しました。配列のそれぞれの要素に対して数値を代入したあと、 for 文を使って順に取り出して画面に表示しています。要素への値の代入や要素から値を取り出す方法については次のページで解説します。

配列は参照型のデータ型

int 型や boolean 型が基本データ型と呼ばれるのに対して String 型や配列型は参照型と呼ばれるデータ型です。基本データ型の場合は、変数に対して値そのものが格納されますが、参照型の場合は配列の本体が保管されている場所が別に確保され、配列変数には配列の先頭要素のアドレスだけが格納されています。

配列は参照型のデータ型(2)

配列変数に格納されている配列本体への参照は、別の配列変数に代入することができます。

int[] data = new int[5];
int[] other;

other = data;

参照型の場合は、参照先が新しい配列変数に代入されると、どちらも同じ配列の本体を参照するようになります。

配列は参照型のデータ型(3)

次のサンプルを見てください。

int[] data = new int[3];

data[0] = 10;
data[1] = 16;
data[2] = 9;

int[] other;
other = data;

System.out.println(data[1]);  // 16
System.out.println(other[1]); // 16

int 型の配列変数 data を宣言し、配列を作成しています。そのあとで新しく int 型の配列変数 other を宣言し、 data を代入しています。これで data と other は同じ配列本体を参照します。その為、それぞれの配列変数を使って同じインデックスの要素の値を取得すると同じ値を取得することができます。

型推論を使用した配列の宣言

変数宣言で型推論を利用する」で解説したとおり Java のバージョンによっては型推論が利用できますが、配列変数を宣言するときにも型推論を利用できます。書式は次のとおりです。

var 配列変数名 = new データ型[要素数]

例えば int 型の値を格納する配列を宣言すると同時に配列を作成する場合は次のように記述することができます。

var data = new int[5];

これは次のように記述した場合と同じです。

int[] data = new int[5];

型推論を使用する場合は、配列の宣言と同時に配列を作成する必要がある点に注意してください。

-- --

Java で配列を利用するための配列の宣言と配列の作成を行う手順について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。