728x90
반응형
1. 1차원 배열
- 선언하기
타입[] 변수이름; | int[] score; String[] name; |
타입 변수이름[]; | int score[]; String name[]; |
배열을 선언하면 생성한 배열을 다루기 위한 참조변수를 위한 공간이 만들어 집니다.
아직 데이터를 저장할 수 있는 공간은 마련되지 않습니다.
- 생성하기
변수이름 = new 타입[길이]; | score = new int[5]; name = new String[3]; |
배열을 생성하면 값을 저장할 수 있는 공간이 만들어 집니다.
연산자 new에 의해 명시한 타입의 데이터를 저장하기 위한 메모리 공간이 길이만큼 생성됩니다.
배열의 길이는 양의 정수이어야 하며 최댓값은 int 타입의 최댓값으로 약 20억입니다.
또한, 배열의 길이는 0이 될 수 있습니다.
자바에서는 배열의 길이를 JVM이 별도로 관리하며, 변수이름.length를 통해 배열의 길이를 알 수 있습니다.
- 초기화하기
- 인덱스 접근
int[] score = new int[5];
for(int i=0; i<score.length; i++) {
score[i] = i;
}
String[] name = new String[4];
name[0] = "Kim";
name[1] = "Lee";
name[2] = "Park";
name[3] = "Choi";
- 생성과 동시에 초기화
int[] score = new int[]{0, 1, 2, 3, 4};
String[] name = new Strig[]{"Kim", "Lee", "Park", "Choi"};
int[] score = {0, 1, 2, 3, 4};
String[] name = {"Kim", "Lee", "Park", "Choi"};
int[] score;
score = new int[]{0, 1, 2, 3, 4};
String[] name;
name = new String[]{"Kim", "Lee", "Park", "Choi"};
2. 다차원 배열
- 선언하기
타입[][] 변수이름; | int[][] score; |
타입 변수이름[][]; | int score[][]; |
타입[] 변수이름[]; | int[] score[]; |
- 생성하기
타입[][] 변수이름 = new 타입[길이][길이]; | int[][] score = new int[4][3]; |
- 초기화하기
int[][] arr = new int[][]{{1, 2, 3}, {4, 5, 6}};
int[][] arr = {{1, 2, 3}, {4, 5, 6}};
3. 가변 배열
2차원 이상의 배열의 경우, 마지막 차수의 길이를 지정하지 않고 추후에 각기 다른 길이의 배열을 생성함으로써 유동적인 가변 배열을 구성할 수 있습니다.
int[][] score = new int[5][];
score[0] = new int[4];
score[1] = new int[3];
score[2] = new int[2];
score[3] = new int[2];
score[4] = new int[3];
배열의 복사
for문을 사용해서 배열의 요소를 각각 복사하는 것보다는 System.arraycopy()로 복사하는 것이 더 빠르다.
참고
- 참고 도서: java의 정석 - 남궁성 지음
728x90
반응형
'Java' 카테고리의 다른 글
super와 this (0) | 2022.05.20 |
---|---|
상속 Inheritance (0) | 2022.05.20 |
오버로딩(Overloading)과 오버라이딩(Overriding) (0) | 2022.05.19 |
객체지향 프로그래밍(OOP, Object-Oriented Programming) (0) | 2022.05.19 |
Java란? (0) | 2022.05.19 |