예. 참조 만 작성하며 기본값은 null로 설정됩니다. 그렇기 때문에 NullPointerException이 발생합니다. 개체를 별도로 만들고 참조를 할당해야합니다. Java로 배열을 만드는 3 단계가 있습니다-
선언 –이 단계에서는 만들려는 배열의 데이터 유형과 차원을 지정합니다. 그러나 크기의 크기는 아직 언급하지 않았습니다. 그들은 비어 있습니다.
인스턴스화 –이 단계에서는 새 키워드를 사용하여 배열을 만들거나 배열에 메모리를 할당합니다. 이 단계에서는 배열 차원의 크기를 언급합니다.
초기화 – 배열은 항상 데이터 유형의 기본값으로 초기화됩니다. 그러나 우리는 우리 자신의 초기화를 할 수 있습니다.
자바에서 배열 선언
이것이 Java로 1 차원 배열을 선언하는 방법입니다.
int[] array;
int array[];
Oracle은 배열을 선언 할 때 이전 구문을 사용하는 것이 좋습니다. 법적 선언의 다른 예는 다음과 같습니다.
// 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 개의 값을 제공한다는 것을 알 수 있기 때문에 여기서는 크기를 언급하지 않습니다.
따라서 인스턴스화 할 때까지 참조는 null로 유지됩니다. 내 답변이 도움이 되었기를 바랍니다 ..! :)