1. 배열이란?
- 순서 O
- 연속된 공간에 저장 (Memory에 일렬로 저장)
- 인덱스로 접근 (0부터 번호가 매겨짐)
값들에 빠르게 접근하고 싶을 때 사용
자료형 배열이름[크기];
배열 이름 : 배열을 식별할 수 있는 이름
[크기] : 배열이 몇 개의 요소를 담을 수 있는지 지정 (정수값)
2. 기본 예제
public class ArrayExample1 {
public static void main(String[] args) {
// 정수형 배열 선언과 초기화
int[] numbers = {1, 2, 3, 4, 5};
// 배열 요소 출력
for (int i = 0; i < numbers.length; i++) {
System.out.println("numbers[" + i + "] = " + numbers[i]);
}
}
}
- numbers.length로 배열 크기 확인하며 반복문으로 순회
- numbers[i]로 각 인덱스 요소 접근해 출력
- 인덱스 범위 벗어나면 ArrayIndexOutOfBoundsException 발생
public class ArraySumExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for (int num : arr) {
sum += num; // 배열 요소를 하나씩 더함
}
System.out.println("배열 요소의 합: " + sum);
}
}
- int sum = 0; -> 합계 저장할 변수 0으로 초기화
- for (int num : arr) sum += num; -> 향상된 for문으로 배열 요소 하나씩 더함
3. 자주 나오는 오류 TOP 3
int[] arr = {1, 2, 3};
System.out.println(arr[3]);
위 코드는 3칸짜리 배열에서 arr[3]을 접근하려 해서 오류
해결법 :
System.out.println(arr[arr.length - 1]);
int[] arr = null;
System.out.println(arr.length);
해결법 :
System.out.println(arr[arr.length - 1]);
int[] arr;
arr[0] = 10;
메모리 공간이 없는데 값을 넣으려고 하니 안되는 것.
해결법 :
int[] arr = new int[3];
arr[0] = 10;