はい、参照のみが作成され、デフォルト値nullに設定されます。そのため、NullPointerExceptionが発生します。オブジェクトを個別に作成し、参照を割り当てる必要があります。Javaで配列を作成するには3つのステップがあります-
宣言 –このステップでは、作成する配列のデータ型と次元を指定します。ただし、寸法のサイズについてはまだ触れていません。彼らは空のままです。
インスタンス化 –このステップでは、新しいキーワードを使用して、配列を作成するか、配列にメモリを割り当てます。このステップでは、配列の次元のサイズについて言及します。
初期化 –配列は常にデータ型のデフォルト値に初期化されます。ただし、独自の初期化を行うことができます。
Javaでの配列の宣言
これが、Javaで1次元配列を宣言する方法です。
int[] array;
int array[];
配列を宣言するには、前の構文を使用することをお勧めします。法的宣言の他の例をいくつか示します–
// One Dimensional Arrays
int[] intArray; // Good
double[] doubleArray;
// One Dimensional Arrays
byte byteArray[]; // Ugly!
long longArray[];
// Two Dimensional Arrays
int[][] int2DArray; // Good
double[][] double2DArray;
// Two Dimensional Arrays
byte[] byte2DArray[]; // Ugly
long[] long2DArray[];
そして、これらは違法な宣言のいくつかの例です–
int[5] intArray; // Don't mention size!
double{} doubleArray; // Square Brackets please!
インスタンス化
これが、「インスタンス化」、つまり配列にメモリを割り当てる方法です–
int[] array = new int[5];
JVMはnew
キーワードを検出すると、何かにメモリを割り当てる必要があることを理解します。また、を指定することでint[5]
、int
サイズ5のsの配列が必要であることを意味します。したがって、JVMはメモリを作成し、新しく割り当てられたメモリの参照を、タイプの「参照」である配列に割り当てますint[]
初期化
ループの使用– forループを使用して配列の要素を初期化することは、配列を実行する最も一般的な方法です。デフォルト値自体を割り当てる場合は、JVMが代わりにループを実行するため、forループを実行する必要はありません。
オールインワン..!–アレイの宣言、インスタンス化、初期化を一度に実行できます。構文は次のとおりです–
int[] arr = {1, 2, 3, 4, 5};
ここでは、JVMが5つの値を提供していることがわかるため、サイズについては触れません。