본문 바로가기

언어/Java

[ 자바 / Java ] 배열의 선언과 초기화

반응형

 

 

1. 배열의 특징

 

  • 고정 크기: 배열은 한 번 생성되면 크기를 변경할 수 없습니다. 배열의 크기는 배열을 선언할 때 지정하며, 배열이 생성된 이후에는 크기를 늘리거나 줄일 수 없습니다.
  • 동일한 데이터 타입: 배열의 모든 요소는 동일한 데이터 타입을 가져야 합니다. 즉, 정수형 배열은 모든 요소가 정수여야 하고, 문자열 배열은 모든 요소가 문자열이어야 합니다.
  • 인덱스 기반 접근: 배열의 각 요소는 인덱스를 통해 접근할 수 있습니다. 배열의 인덱스는 0부터 시작합니다. 예를 들어, 첫 번째 요소는 array[0], 두 번째 요소는 array[1]로 접근합니다.
  • 연속된 메모리 할당: 배열은 메모리에 연속적으로 할당되므로, 배열 요소는 물리적으로도 연속된 위치에 저장됩니다. 이는 배열의 요소에 접근하는 속도가 빠르다는 장점을 제공합니다.

 

Java에서 배열은 같은 데이터 타입을 가지는 변수들의 집합을 표현하는 자료 구조입니다. 배열을 사용하면 여러 개의 값을 하나의 변수로 다룰 수 있어 편리합니다. 배열의 선언과 초기화 방법은 데이터 타입에 따라 다소 차이가 있지만, 기본적으로는 동일한 구조를 따릅니다.

2. 배열의 선언과 초기화

배열을 선언할 때는 다음과 같은 형식을 사용합니다:

데이터타입[] 배열이름;

배열을 초기화할 때는 다음과 같은 형식을 사용합니다:

배열이름 = new 데이터타입[배열의 크기];

배열의 선언과 초기화를 한 번에 할 수도 있습니다:

데이터타입[] 배열이름 = new 데이터타입[배열의 크기];

또한, 배열을 초기화할 때 배열의 요소들을 동시에 지정할 수도 있습니다:

데이터타입[] 배열이름 = { 요소1, 요소2, 요소3, ... };

3. 데이터 타입별 배열의 선언과 초기화

여러 데이터 타입에 대해 배열을 선언하고 초기화하는 방법을 살펴보겠습니다.

1. 정수형 배열 (int, long, short, byte)

int 배열
// 선언
int[] intArray;

// 선언과 동시에 초기화
int[] intArray = new int[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
int[] intArray = { 1, 2, 3, 4, 5 };
long 배열
// 선언
long[] longArray;

// 선언과 동시에 초기화
long[] longArray = new long[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
long[] longArray = { 100000L, 200000L, 300000L };
short 배열
// 선언
short[] shortArray;

// 선언과 동시에 초기화
short[] shortArray = new short[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
short[] shortArray = { 10, 20, 30, 40, 50 };
byte 배열
// 선언
byte[] byteArray;

// 선언과 동시에 초기화
byte[] byteArray = new byte[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
byte[] byteArray = { 1, 2, 3, 4, 5 };

2. 실수형 배열 (float, double)

float 배열
// 선언
float[] floatArray;

// 선언과 동시에 초기화
float[] floatArray = new float[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
float[] floatArray = { 1.1f, 2.2f, 3.3f };
double 배열
// 선언
double[] doubleArray;

// 선언과 동시에 초기화
double[] doubleArray = new double[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
double[] doubleArray = { 1.1, 2.2, 3.3, 4.4, 5.5 };

3. 문자형 배열 (char)

// 선언
char[] charArray;

// 선언과 동시에 초기화
char[] charArray = new char[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
char[] charArray = { 'A', 'B', 'C', 'D', 'E' };

4. 논리형 배열 (boolean)

// 선언
boolean[] booleanArray;

// 선언과 동시에 초기화
boolean[] booleanArray = new boolean[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
boolean[] booleanArray = { true, false, true, false, true };

5. 문자열 배열 (String)

// 선언
String[] stringArray;

// 선언과 동시에 초기화
String[] stringArray = new String[5]; // 크기가 5인 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
String[] stringArray = { "Java", "Python", "C++", "JavaScript", "Ruby" };

2차원 배열의 선언과 초기화

2차원 배열은 배열의 배열입니다. 즉, 배열의 각 요소가 또 다른 배열을 참조합니다.

// 선언
int[][] twoDimArray;

// 선언과 동시에 초기화
int[][] twoDimArray = new int[3][4]; // 3x4 크기의 배열 생성

// 선언과 동시에 요소를 지정하여 초기화
int[][] twoDimArray = {
    { 1, 2, 3, 4 },
    { 5, 6, 7, 8 },
    { 9, 10, 11, 12 }
};

설명:

  • int[][] twoDimArray = new int[3][4];는 3개의 행과 4개의 열을 가진 2차원 배열을 생성합니다.
  • int[][] twoDimArray = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} };는 초기값을 직접 지정하여 2차원 배열을 초기화합니다.

4. 배열의 사용 예제

배열을 선언하고 초기화한 후, 배열의 요소를 접근하고 조작하는 방법을 예제로 보여드립니다.

public class ArrayExample {
    public static void main(String[] args) {
        // 정수형 배열 선언과 초기화
        int[] numbers = { 1, 2, 3, 4, 5 };

        // 배열 요소 접근 및 출력
        for (int i = 0; i < numbers.length; i++) {
            System.out.println("Element at index " + i + ": " + numbers[i]);
        }

        // 배열 요소 변경
        numbers[2] = 10; // 세 번째 요소를 10으로 변경

        // 변경된 배열 요소 출력
        System.out.println("Modified element at index 2: " + numbers[2]);
    }
}

설명:

  • numbers라는 정수형 배열을 선언하고 초기화합니다.
  • for 문을 사용하여 배열의 각 요소를 출력합니다.
  • numbers[2]를 10으로 변경하고, 변경된 값을 출력합니다.

5. 결론

Java에서 배열은 동일한 데이터 타입의 여러 값을 저장하고 관리할 수 있는 유용한 자료 구조입니다. 배열을 선언하고 초기화하는 방법은 데이터 타입에 따라 약간 다를 수 있지만, 기본적으로는 동일한 구조를 따릅니다. 1차원 배열뿐만 아니라 2차원 배열 등 다차원 배열도 사용할 수 있습니다. 배열은 요소를 접근하고 조작하는 데 있어 매우 직관적이며, 다양한 데이터 타입을 효과적으로 관리할 수 있는 강력한 도구입니다.

반응형