자바에서 배열은 동일한 데이터 타입의 여러 값을 저장할 수 있는 데이터 구조입니다. 배열은 고정된 크기를 가지며, 인덱스를 통해 요소에 접근할 수 있습니다. 자바에서 배열의 기본 개념과 주요 사용 방법을 아래에 설명하겠습니다.
배열의 기본 개념
- 정적 배열:
- 배열은 생성 시 크기가 고정되며, 생성 후 크기를 변경할 수 없습니다.
- 배열의 각 요소는 인덱스를 사용하여 접근합니다. 인덱스는 0부터 시작합니다.
- 데이터 타입:
- 배열은 기본 데이터 타입 (예: int, char, double) 또는 객체 타입 (예: String, Person)을 저장할 수 있습니다.
배열의 선언과 초기화
배열 선언: 배열을 선언할 때는 데이터 타입과 배열 이름을 지정합니다.
int[] numbers; // 배열 선언
배열 초기화: 배열을 생성하고 초기화합니다. 배열의 크기를 지정해야 합니다.
numbers = new int[5]; // 크기가 5인 int 배열 생성
배열 선언과 초기화 동시에: 배열을 선언하면서 동시에 초기화할 수 있습니다.
int[] numbers = new int[5]; // 크기가 5인 int 배열 생성 및 초기화
배열 리터럴 초기화: 배열을 선언하고 값을 한 번에 초기화할 수 있습니다.
int[] numbers = {1, 2, 3, 4, 5}; // 크기가 5인 int 배열을 초기화
배열의 기본 사용법
배열에 값 할당: 배열의 각 요소에 값을 할당합니다.
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
배열의 값 읽기: 배열의 각 요소에 접근하여 값을 읽습니다.
int firstNumber = numbers[0]; // 첫 번째 요소 읽기
System.out.println(firstNumber); // 10 출력
배열의 길이: 배열의 길이는 length 속성으로 얻을 수 있습니다.
int length = numbers.length; // 배열의 길이
System.out.println(length); // 5 출력
배열의 예제
다음은 배열을 사용하는 간단한 예제입니다:
public class ArrayExample {
public static void main(String[] args) {
// 배열 선언과 초기화
int[] numbers = {1, 2, 3, 4, 5};
// 배열의 길이 출력
System.out.println("배열의 길이: " + numbers.length);
// 배열의 각 요소 출력
for (int i = 0; i < numbers.length; i++) {
System.out.println("numbers[" + i + "] = " + numbers[i]);
}
}
}
다차원 배열
자바에서는 다차원 배열도 지원합니다. 주로 2차원 배열을 사용합니다.
2차원 배열 선언과 초기화:
int[][] matrix = new int[3][3]; // 3x3 배열 생성
2차원 배열의 값 할당:
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
2차원 배열을 리터럴로 초기화:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
2차원 배열의 값 읽기:
System.out.println(matrix[0][0]); // 1 출력
System.out.println(matrix[1][2]); // 6 출력
배열의 주요 특징
- 고정 크기: 배열은 한 번 생성되면 크기를 변경할 수 없습니다.
- 인덱스 접근: 배열의 각 요소는 인덱스를 사용하여 접근합니다.
- 기본 값: 배열을 생성하면 요소는 기본값으로 초기화됩니다. 예를 들어, int 배열은 기본값이 0입니다.
결론
자바에서 배열은 동일한 타입의 여러 값을 저장할 수 있는 기본적인 데이터 구조입니다. 배열의 크기는 고정되어 있으며, 인덱스를 통해 각 요소에 접근할 수 있습니다. 배열은 단순한 데이터 구조로, 효율적인 데이터 처리와 저장이 가능하지만, 크기가 고정되어 있어 동적 배열 구조가 필요한 경우에는 ArrayList와 같은 컬렉션을 사용하는 것이 좋습니다.
'JAVA' 카테고리의 다른 글
객체지향 프로그래밍 (클래스와 인스턴스)란? (0) | 2024.07.24 |
---|---|
컬렉션(List, Set, Queue, Map ) (1) | 2024.07.23 |
반복문 (Loops) (1) | 2024.07.23 |
조건문(Conditional Statements) (1) | 2024.07.23 |
변수 와 상수 (1) | 2024.07.22 |