발전을 위한 기록

[Java] 자바 배열(array) 이해하기 : 선언과 활용 본문

프로그래밍/자바

[Java] 자바 배열(array) 이해하기 : 선언과 활용

릴릴2 2024. 2. 3. 14:41

💻배열의 정의

배열(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