| English | 의미 |
|---|---|
| initializer list/ɪˈnɪʃəlaɪzə lɪst/ | 초기화 목록 |
| ArrayIndexOutOfBoundsException/əˈreɪ ˈɪndeks ˈaʊtəv baʊndz ekˈsepʃn/ | ArrayIndexOutOfBoundsException |
배열 만들기
- 타입과
[]로 **배열(array)**을 선언합니다:int[] scores; new과 크기로 생성합니다:int[] scores = new int[5];(5개 슬롯).- 또는 값을 직접 나열할 수 있습니다:
int[] scores = {85, 90, 78};(초기화 목록(initializer list)). - 모든 슬롯은 타입의 기본값(
0is forint,nullis for objects)에서 시작합니다.
0부터 시작하는 인덱싱
- 배열 요소는 **
0**부터 번호가 매겨집니다. 마지막 인덱스는length - 1입니다. - 슬롯에 접근하려면
scores[i]사용:scores[0]는 첫 번째,scores[2]는 세 번째입니다. - 할당은
scores[0] = 100;으로, 읽기는int x = scores[0];으로 수행합니다. - 마지막 인덱스에서 1을 초과하는 오류(off-by-one)가 가장 흔한 배열 버그입니다.
length 필드
- 배열의 크기는
length필드입니다. 괄호 없음:scores.length. - (
String의length()메서드(method) 와 대조되는데, 이는 괄호가 있습니다.) length은 배열 생성 후 고정됩니다. 배열은 리사이즈되지 않습니다.- 루프 조건에서 경계를 유지하기 위해
scores.length을 사용하십시오.
범위를 벗어난 상태(Out of bounds)
- 유효한 인덱스는
0부터length - 1까지입니다. 그 외의 anything는 ArrayIndexOutOfBoundsException을 발생시킵니다. - 길이 5인 배열에서
scores[5]는 **범위 밖(out of bounds)**입니다 (인덱스는0–4). - 루프 조건 **
i < scores.length**이 **i**이 범위 내에 있도록 유지합니다. <=을length과 함께 사용하지 마십시오 — 끝을 하나 넘어서게 됩니다.
배열 크기는 length (필드, 괄호 없음); String 길이는 length() (메서드, 괄호 있음). 혼동하면 컴파일되지 않습니다. 유효한 인덱스는 0부터 length - 1까지 — scores[scores.length]은 끝을 하나 넘어 ArrayIndexOutOfBoundsException을 발생시킵니다. 루프는 i < scores.length으로, 절대 i <= scores.length으로 하지 마십시오.
배열 생성 및 접근:
int[] a = {10, 20, 30};— 길이3, 인덱스0,1,2.a[0]는10;a[2]는30;a.length는3.a[3]는 ArrayIndexOutOfBoundsException(인덱스 3 존재하지 않음)을 발생시킵니다.
배열을 new type[size]으로 만들거나 초기화 목록 {...}을 만듭니다. 요소는 **0**부터 **length - 1**까지 인덱싱되며, a[i]로 액세스합니다. 크기는 length 필드(괄호 없음)입니다. 0..length-1 밖의 인덱스는 ArrayIndexOutOfBoundsException을 발생시킵니다—i < a.length와 함께 루프하십시오.
0부터 인덱싱하기
a[0]=10, a[1]=20, a[2]=30; a.length은 3입니다
int[] a = {10, 20, 30}일 때 a[0]은 무엇입니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
배열은 0부터 인덱징되므로 a[0]은 첫 번째 요소인 10입니다
배열 a의 크기는 어떻게 얻습니까?
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
배열 크기는 length 필드입니다 (괄호 없음)
int[] a = {10, 20, 30}일 때 a.length은 무엇입니까?
난이도 2/5 · 140 코인 + 오늘 첫 완료 시 소액 보너스
세 개의 요소 → 길이 3
길이 5의 배열에서 인덱스 5(a[5])에 접근하면...
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
유효한 인덱스는 0..4이며, 인덱스 5는 범위를 벗납니다
String은 length() 메소드를 사용하지만, 배열은 length 필드를 사용합니다
난이도 1/5 · 100 코인 + 오늘 첫 완료 시 소액 보너스
다양한 문법 — String에는 괄호, 배열에는 없습니다