Javaに関する様々な情報をご紹介します。

1配列の基本

Javaに関する様々な情報をご紹介します。

配列の基本

配列とは同じ型のデータを複数もつことができるオブジェクトです。int、doubleなどの基本型だけでなくStringなど参照型のデータも持つことができます。配列は一度サイズが決められると変更することはできないという性質を持っています。

配列の基本

配列の宣言・生成

配列は他の基本型変数と同じように宣言・生成という手順をとります。宣言を行っただけではその配列を使用するメモリ領域は割り当てられません。生成を行った後にその配列を使用する十分なメモリ領域が割り当てられます。

【配列の宣言】

配列型[ ] 配列名;

※配列型 配列名[ ] とすることもできますが、通常は配列型の後に[ ] を持ってきます。

例1

int[] intArray;   //int型の配列intArrayを宣言
String[] stringArray;   //String型の配列stringArrayを宣言

【配列の生成】

配列名 = new 配列型[サイズ];

※他のオブジェクトと同様に配列の生成もnew演算子を使用します。

例2

//10個のint型データを持つ配列intArrayを生成
intArray = new int[10];

//配列の宣言と生成を同時に行うこともできます。
double[] doubleArray = new double[10];

//int型の値であれば変数を配列のサイズ指定に使うこともできます。
int size = 10;
char[] charArray = new char[size];

生成を行うことによってメモリ内にデータ領域がとられると記載しました。メモリ内に領域がとられる際、配列にはある初期値が設定されています。例えば int型の配列を生成した後、その配列の表示を行うとint型配列の初期値である0が表示されます。それぞれの配列型の初期値は以下のようになります。

例3

int intArray[] = new int[10];
System.out.println(intArray[0]);

//0が表示されます。

【配列の初期値】

配列型 初期値
0 -128 ~ 127
0 -32768 ~ 32767
0 -2147483648 ~ 2147483647
0 -9223372036854775808 ~ 9223372036854775807

初期化子

配列の宣言・生成を行う方法としてnew演算子を使用する代わりに、初期化子を指定する方法があります。初期化子は配列生成時に直接データを代入して配列を生成する方法です。初期化子を指定した場合の配列サイズは代入するデータの数によって決まります。

【初期化子による配列の宣言・生成】

配列型[ ] 配列名 = {データ,データ,・・・};

例4

double[] doubleArray = {1.05d, 1.06d, 1.07d};
//double型の配列doubleArrayを宣言・生成

String[] stringArray = {"Sunday", "Monday", "Tuesday"};
//String型の配列stringArrayを宣言・生成

参照型配列の生成

参照型の配列を生成する際の注意点として配列生成後、配列の各要素のオブジェクトを生成する必要があるということがあります。参照型の配列は配列を生成するだけでは配列の各要素のオブジェクトまでは生成されません。単に各要素を格納するメモリ領域が確保されるだけです。

例5

String[] stringArray = new String[10];
System.out.println(stringArray[0].length());
//配列要素(stringArray[0])にStringオブジェクトの生成を
//行っていないため、例外、NullPointerExceptinが返されます。

String[] stringArray = new String[10];
stringArray[0] = new String("Sunday"); //Stringオブジェクトの生成
System.out.println(stringArray[0].length());
//配列要素(stringArray[0])にStringオブジェクトの生成を
//行っているため、正しく実行されます。

String[] stringArray = {"Sunday", "Monday", "Tuesday"};
System.out.println(stringArray[0]);
//初期化子を指定した場合は配列の各要素のオブジェクトの
//生成も同時に行われます。

配列への代入・参照

配列はインデックス番号を使用して、配列の各要素の指定を行います。インデックス番号は0から始まり配列長-1までとなります。配列の各要素へのデータの代入、代入されたデータの参照を行う場合はその要素を表すインデックス番号を指定して行います。

配列への代入・参照

例6

//要素5にデータ50の代入
intArray[5] = 50;

//配列の最後の要素にデータ100の代入
intArray[intArray.length - 1] = 100;
//要素5の参照、データ50の表示
System.out.println(intArray[5]);

1配列の基本