[Java] java.lang.ArrayIndexOutOfBoundsException

안녕하세요!

자바 프로그래밍을 하다보면 java.lang.ArrayIndexOutOfBoundsException 에러를 종종 접하게 됩니다.

이 에러는 배열 인덱스가 범위를 벗어났을 때 발생하는데, 배열의 마지막 인덱스 == 배열의 길이 - 1 이 공식만 기억하시면 해결이 되실겁니다.

우선 배열은 0부터 시작하기 때문에, 예를 들어 배열의 크기가 5이면 인덱스는 0부터 4까지입니다. 이 범위를 벗어난 인덱스를 지정하면 ArrayIndexOutOfBoundsException 에러가 발생합니다.

그저 배열의 인덱스가 범위 내에 있는지 확인하면 됩니다. 예를 들어, 배열의 길이가 arr.length 이라고 할 때, 인덱스가 0부터 arr.length - 1 사이에 있는지 확인하면 됩니다. 

다음은 예시 코드입니다.

int[] arr = new int[5];
int index = 5; // 범위를 벗어난 인덱스
if (index >= 0 && index < arr.length) {
    // 인덱스가 범위 내에 있으면 실행될 코드
    System.out.println(arr[index]);
} else {
    // 인덱스가 범위를 벗어나면 실행될 코드
    System.out.println("인덱스가 범위를 벗어났습니다.");
}

이렇게 인덱스를 범위 내에 있는지 확인하면, ArrayIndexOutOfBoundsException 에러를 방지할 수 있습니다.

그럼 20000

반응형