자바의 신 7장 - 여러 데이터를 하나에 넣을 수는 없을까요?

so2·2021년 6월 13일
0
post-custom-banner

배열

  • 한 가지 타입의 변수에 여러 개의 값을 넣을 수 있는 것
  • 자료구조 중 하나 (지료구조 : 데이터를 저장하기 위한 구조)
  • 배열 선언 방법
    • new 예약어 사용
    • 중괄호를 사용해 배열을 선언과 함께 초기화 → 보통 변경되지 않는 값을 지정할 때 사용
  • 표기할 때 타입과 배열 변수 사이에 대괄호들을 넣는 것을 권장
    ex) int []intArray
  • 배열의 잘못된 부분에 값을 할당하면 컴파일할 땐 이상이 없지만 실행할 때 ArrayIndexOutOfBoundsException이 발생한다.
    -> ArrayIndexOutOfBoundsException에러는 잘못된 index에 값을 할당하거나 잘못된 index에 값을 참조할 때 발생
  • 객체를 출력할 때 toString이라는 메소드를 사용하지 않으면 "타입이름@고유번호" 순으로 내용이 출력된다.
    ex) ArrayInitValue@c17164, [B@14ae5a5
  • 배열은 크기만 지정해 초기화만 하면 자료형의 기본값이 지정되며, 참조 자료형 배열은 null이 지정된다.

2차원배열

  twoDim[][]
  twoDim[0]=int배열
  twoDim[0][0] = int값
  • 1차원의 크기만 지정하고, 2차원의 크기는 지정하지 않을 수 있다 ex) twoDin = new int[2][];
  • 1차원 배열 빈공간 2차원 배열 지정 or 두 배열 모두 지정 X → 컴파일시 에러 발생
  • 1차원 배열을 선언한 다음에 2차원 배열을 선언한다. 이와 같이 선언하면 2차원 배열의 공간의 크기를 서로 다르게 지정할 수 있다.
    int [][]twoDim;
    twoDim = new int[2][];
    twoDim[0] = new int[3];
    twoDim[1] = new int[5];
  • 중괄호를 이용해 배열을 선언할 수 있다.
    ex) int [][]twoDim = {{1,2,3}, {4,5,6}}
  • 배열 이름에 .length를 붙여주면 1차원 배열의 크기를 리턴해준다. 2차원의 크기는 1차원 배열에 .length를 붙여준다.
  • 값만을 처리하기 위한 배열은 콜론이 있는 for루프를, 배열의 위치정보(index)도 같이 필요한 배열은 세미콜론이 두 개 있는 for루프를 사용하는 것이 편하다
    이중 루프 for문 
    for(타입이름 임시변수명 : 반복대상객체) {}

    int [][]twoDim = {{1,2,3}, {4,5,6}};
    for(int[] dunArray:twoDim){
        for(int data:dinArray){
                System.out.println(data);
        }
    }
post-custom-banner

0개의 댓글