배열은 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다.
배열을 구성하는 각각의 값을 요소(Element), 배열의 위치를 가리키는 숫자를 인덱스(Index)라고 한다.
Java에서의 인덱스는 언제나 0부터 시작하며 0을 포함한 양의 정수만을 가질 수 있다.
배열의 차원
배열이 중첩된 정도를 의미한다. 즉, 배열의 요소가 또 다른 배열인 경우를 의미한다. 1차원, 2차원 뿐만아니라 다차원 배열도 사용할 수 있다.
- 1차원 배열: 중첩이 없는 경우 = 배열의 요소가 배열이 아닌 경우
- ex) {1, 2, 3, 4}
- 2차원 배열: 배열이 한 번 중첩된 경우 = 배열의 요소가 배열인 경우
- ex) {{1, 2, 3, 4}, {5, 6, 7, 8}}
선언과 초기화
// 1차원 배열
1. 타입[] 배열이름;
or
2. 배열이름 = new 타입[배열길이];
int[] intArr1 = {1, 2, 3, 4};
int[] intArr2 = new int[4] {1, 2, 3, 4};
// 2차원 배열
1. 타입[][] 배열이름;
or
2. 배열이름 = new 타입[배열길이][배열길이];
int[][] intArr1 = {{1, 2, 3, 4}, {5, 6, 7, 8}};
int[][] intArr2 = new int[2][4]{{1, 2, 3, 4}, {5, 6, 7, 8}};
가변 배열
2차원 이상의 다차원 배열에서 마지막 차수에 해당하는 배열의 길이를 고정하지 않아도 되며 이러한 배열을 가변 배열이라 한다.
int[][] arr = new int[7][];
System.out.println("Arrays.toString(arr) = " + Arrays.toString(arr));
// Output
// Arrays.toString(arr) = [null, null, null, null, null]
위의 예제에서 생성된 배열은 내부 배열의 크기를 자유롭게 지정할 수 있는 외부 배열이다. 즉, 외부 배열만 생성된 상태이다.
내부 배열을 생성하려면 new 키워드를 사용하여 내부 배열의 각 요소에 할당해 주면 된다.
가변 배열도 배열과 마찬가지로 생성과 초기화를 동시에 진행할 수 있다.
배열의 탐색
반복문을 활용하여 배열을 탐색할 수 있으며 기본적으로 인덱스와 배열의크기를 활용하여 탐색한다는 점에서 문자열 탐색과 매우 비슷하다.
int[] scores = { 100, 90, 85, 95, 100 };
// for example
int sum = 0;
for (int i = 0; i < scores.length; i++) {
sum += scores[i];
}
System.out.println(sum);
// while example
sum = 0;
int i = 0;
while (i < scores.length) {
sum += scores[i++];
}
System.out.println(sum);
// enhanced for example
for (int score : scores) {
sum += score;
}
System.out.println(sum);
'etc. > Code_SEB_BE' 카테고리의 다른 글
[SEB_BE / Day 7] Java 기초 (3) 반복문 (0) | 2023.04.19 |
---|---|
[SEB_BE / Day 5] Java(1) 기초 변수, 타입 (0) | 2023.04.17 |
[SEB_BE / Day 4] Git 기초 (0) | 2023.04.16 |
[SEB_BE / Day 3] Linux 기초 (0) | 2023.04.14 |
[SEB_BE / Day 2] Development 기초 (1) | 2023.04.13 |