Java 입문 - 배열

1 분 소요

Array (배열)

배열을 한 단어로 표현하면 “Collection, 집합” 이라고 할 수 있다.

  • Static Collection : 자료 저장구조의 하나
  • 배열타입: 큰타입(다형성) 적용 설계
  • 기본형, 객체형 모두 지원
  • 다차원 배열 지원: 1차원, 2차원, … N차원

1차원 배열 생성

#방법 1

  1. 선언

    [modifier] 타입[] 배열명;
    [modifier] 타입 배열명[];
    // 배열기호는 타입 뒤 말고 배열명 뒤에 와도 되지만 첫번째 형태로 사용을 권장
    
  2. 생성

    배열명 = new 타입[배열크기];
    

    new 배열객체의 생성 순서:

    1. 메모리할당
    2. 기본값 자동 초기화
    3. [명시적 초기화]
    4. 참조값을 배열명에 할당
  3. 배열요소 사용

    배열명[배열요소인덱스번호];
    
    • 배열 요소의 인덱스번호 시작: 0
    • 범위 = 0 ~ (배열크기-1)
    • 배열명은 참조변수
    • 배열명.length 변수 = 배열크기가 저장된 변수

#방법 2

  1. 선언 + 생성

    [modifier] 타입[] 배열명 = new 타입 [배열크기];
    
  2. 배열요소 사용

    배열명[배열요소인덱스번호];
    

#방법 3

  1. 선언 + 생성 + 명시적 초기화 (배영요소 초기값 할당)

    [modifier] 타입[] 배열명 = new 타입[] {명시적초기값1, 초기값2, 초기값N};
    [modifier] 타입[] 배열명 = {명시적초기값1, 초기값2, 초기값N};
    
    • 주의사항: 반드시 {} 뒤에 ;(세미콜론)을 표기해야함

2차원 배열

행과 열의 구조를 갖는 배열

  • 행과 열의 크기가 동일한 2차원 배열
  • 행마다 열의 크기를 다르게 지정하는 2차원 배열

#방법 1

  1. 선언

    [modifier] 타입[][] 2차원배열명;  // 권장
    [modifier] 타입 2차원배열명[][];
    
  2. 생성

    • 행마다 열의 크기가 동일한 경우의 배열객체 생성 방법
    2차원배열명 = new 타입[행크기][열크기];
    
    • 행마다 열의 크기를 다르게 지정하는 배열객체 생성 방법

      → 행크기를 지정생성: 행의 크기만을 지정하고, 열크기는 지정하지 않음

      → 생성된 행마다 열의 크기를 지정해서 생성

    2차원배열명 = new 타입[행크기][];
    2차원배열명[행번호] = new 타입[해당 행의 열크기 지정];
    
  3. 배열요소 사용

    2차원배열명[행번호][열번호];
    

#방법 2

  1. 선언 + 생성

    [modifier] 타입[][] 배열명 = new 타입[행크기][열크기];
    
  2. 배열요소 사용

    2차원배열명[배열요소인덱스번호];
    
  • 2차원배열명.length 변수 = 2차원 배열의 행크기가 저장된 변수
  • 2차원배열명[행번호].length 변수 = 해당행의 열크기가 저장된 변수

jdk1.5 기반 향상된 for 구문

  • array, collection API에 반영됨
  • 배열의 크기를 지정하지 않음, 배열 또는 collection에 저장된 갯수만큼(items) 반복수행
for (타입 변수명 : 배열명 또는 Collection 참조변수명) {}

배열 관련 예외

ArrayIndexOutofBoundsException

  • 잘못된 배열요소 접근시 발행: -index, 배열크기를 벗어나는 경우 등

댓글남기기