프로그래밍/자바
[Java] 자바 배열(array) 이해하기 : 선언과 활용
릴릴2
2024. 2. 3. 14:41
728x90
💻배열의 정의
배열(array)은 동일한 데이터 타입의 여러 값을 하나의 변수 이름으로 관리하기 위해 사용하는 자료구조입니다. 자바에서 배열은 0부터 시작하는 인덱스를 통해 각 요소에 접근할 수 있으며, 한 번 생성된 배열의 크기는 변경할 수 없습니다.
기본 구문
타입[] 배열이름 = new 타입[크기];
배열 인덱싱
인덱스(Index)
- 배열 내의 각 요소 위치를 나타내는 숫자입니다. 프로그래밍에서 배열의 인덱스는 보통 0에서 시작합니다.
값(Value)
- 배열의 각 인덱스에 저장된 데이터입니다.
왜 배열은 0부터 시작하는가?
- 배열의 인덱스가 0에서 시작하는 것은 프로그래밍 언어의 전통적인 설계 결정 중 하나입니다. 이는 메모리 주소 계산을 단순화시키고, 프로그램의 효율성을 높이는 데 기여합니다.
- 첫 번째 요소에 접근할 때 인덱스 0을 사용하는 것은, 배열 시작 지점으로부터 0번째 위치에 있다는 의미입니다. 즉, 시작 지점 자체를 가리키게 됩니다.
배열 선언
// 정수형 배열 선언, 기본값 0으로 초기화
int[] intArray = new int[5];
// 실수형 배열 선언, 기본값 0.0으로 초기화
double[] doubleArray = new double[5];
// 문자형 배열 선언, 기본값 '\u0000' (null 문자)으로 초기화
char[] charArray = new char[5];
// 불린형 배열 선언, 기본값 false로 초기화
boolean[] booleanArray = new boolean[5];
// 문자열 배열 선언, 기본값 null로 초기화
String[] stringArray = new String[5];
int[] intArray = new int[5];
- 5개의 정수를 저장할 수 있는 배열을 생성합니다.
- 배열의 모든 요소는 정수형의 기본값인 0으로 초기화됩니다.
double[] doubleArray = new double[5];
- 5개의 실수를 저장할 수 있는 배열을 생성합니다.
- 배열의 모든 요소는 실수형의 기본값인 0.0으로 초기화됩니다.
char[] charArray = new char[5];
- 5개의 문자를 저장할 수 있는 배열을 생성합니다.
- 배열의 모든 요소는 문자형의 기본값인 널 문자('\u0000')로 초기화됩니다. 이는 출력 시 보이지 않는 문자입니다.
boolean[] booleanArray = new boolean[5];
- 5개의 불린 값을 저장할 수 있는 배열을 생성합니다.
- 배열의 모든 요소는 불린형의 기본값인 false로 초기화됩니다.
String[] stringArray = new String[5];
- 5개의 문자열을 저장할 수 있는 배열을 생성합니다.
- 배열의 모든 요소는 문자열의 기본값인 null로 초기화됩니다.
배열에 값 할당
// 정수형 배열에 값 할당
int[] intArray = {10, 20, 30, 40, 50};
// 실수형 배열에 값 할당
double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5};
// 문자형 배열에 값 할당
char[] charArray = {'H', 'e', 'l', 'l', 'o'};
// 불린형 배열에 값 할당
boolean[] booleanArray = {true, false, true, false, true};
// 문자열 배열에 값 할당
String[] stringArray = {"Java", "Python", "C++", "JavaScript", "Ruby"};
// 배열 값 출력 예제
System.out.println("정수형 배열 첫 번째 요소: " + intArray[0]);
System.out.println("실수형 배열 첫 번째 요소: " + doubleArray[0]);
System.out.println("문자형 배열 첫 번째 요소: " + charArray[0]);
System.out.println("불린형 배열 첫 번째 요소: " + booleanArray[0]);
System.out.println("문자열 배열 첫 번째 요소: " + stringArray[0]);
- intArray 배열에서 각 인덱스에 할당된 값을 정리한 표입니다.
출력 결과
정수형 배열 첫 번째 요소: 10
실수형 배열 첫 번째 요소: 1.1
문자형 배열 첫 번째 요소: H
불린형 배열 첫 번째 요소: true
문자열 배열 첫 번째 요소: Java
❗ 배열 사용 시 주의할 점 ❗
인덱스 범위
- 배열의 인덱스는 0부터 시작하므로, 배열의 크기보다 큰 인덱스에 접근하려 하면 ArrayIndexOutOfBoundsException오류가 발생합니다.
불변의 크기
- 배열의 크기는 생성 시에 정해지며, 이후 변경할 수 없습니다.
- 필요에 따라 크기를 조정하려면 새 배열을 생성하고 데이터를 복사해야 합니다.
타입 일치
- 배열은 선언된 데이터 타입의 요소만 저장할 수 있습니다.
- 다른 타입의 데이터를 저장하려고 하면 컴파일 오류가 발생합니다.
기본값 초기화
- 배열이 생성될 때, 모든 요소는 해당 타입의 기본값으로 자동 초기화됩니다.
- 명시적으로 다른 값으로 초기화하는 것을 잊지 말아야 합니다.
728x90