배열(Array)
배열은 연속된 공간에 값을 나열시키고, 각 값에 index를 부여해 놓은 자료구조다.
int 배열은 int 타입의 값만 관리하고, String 배열은 문자열만 관리한다. 배열은 생성과 동시에 길이가 결정되며, 결정된 배열의 길이는 변경할 수 없다.
- 같은 타입의 값만 관리
- 길이 변경 불가
변수 선언
int[] intArray;
int intArray[];
배열 변수 선언은 두 가지 형태로 작성할 수 있지만, 관례적으로 첫 번째 방법을 사용한다.
int[] intArray = null;
배열 변수는 참조 변수로 힙 영역에 생성되고 힙 영역의 배열 주소를 저장한다. 참조할 배열이 없다면 null로 초기화 시킬 수 있다.
값 목록으로 배열 생성
int[] intArray = {1, 2, 3, 4, 5};
중괄호 {}는 나열된 값들을 항목으로 가지는 배열을 힙에 생성하고 번지를 리턴한다. 리턴된 번지를 저장 후 참조가 이루어진다.
intArray[1]; // 2
intArray[1] = 0; // {1, 0, 3, 4, 5}
생성된 배열에서 값을 바꾸고 싶다면 대입 연산자를 사용한다.
int[] intArray;
intArray = {0, 1, 2, 3, 4}; // error
중괄호{}로 감싼 값의 목록을 배열 변수에 대입할 때 배열 변수를 미리 선언한 후에는 값 목록을 변수에 대입할 수 없다.
int[] intArray;
intArray = new int[] {0, 1, 2, 3, 4};
배열 변수 선언 후 나중에 값을 대입하고 싶다면 new 타입[]을 중괄호 앞에 붙여주면 된다.
new 연산자
현재 값의 목록은 없고 향후 값들을 저장할 목적으로 배열을 미리 생성할 때 사용한다.
타입[] 변수 = new 타입[길이];
길이는 배열이 저장할 수 있는 항목 수를 말한다.
new 연산자는 해당 길이의 배열을 생성하고 배열의 번지를 리턴하기 때문에 배열 변수에 대입할 수 있다. 배열 변수가 이미 선언된 후에도 대입이 가능하다.
int[] intArray = null;
intArray = new int[5];
int[] intArray = new int[5];
길이 5인 int[] 배열을 생성하고, 배열 번지를 intArray 변수에 대입한다. new 연산자로 배열을 처음 생성하면 배열 항목은 기본값으로 초기화된다.
타입별 배열의 초기
데이터 타입 | 초기값 | |
기본타입 | byte[] char[] short[] int[] long[] |
0 '\u0000' 0 0 0L |
float[] double[] |
0.0F 0.0 |
|
boolean[] | false | |
참조타입 | 클래스[] 인터페이스[] |
null null |
배열 길이
배열에 저장할 수 있는 항목의 수를 말하며 .length를 이용해 얻을 수 있다.
배열변수.length;
intArray.length = 10; // error
배열 length 필드는 읽기만 가능하여 값은 변경 불가하다.
'IT > Java' 카테고리의 다른 글
[Java] 배열의 객체 참조 (0) | 2024.02.27 |
---|---|
[Java] 다차원 배열 (0) | 2024.02.27 |
[Java] 문자열 .equals() / .charAt() / .length() / .replace() / .substring() / .indexOf() / .contains() / .split() (0) | 2024.02.26 |
[Java] null / NullPointerException (0) | 2024.02.26 |
[Java] 참조 타입 변수 ==, != 연산 (0) | 2024.02.26 |