-개요

  • 많은 양의 데이터를 처리하기 위해서 사용
  • 데이터를 연속된 공간에 나열하고 각 데이터에 Index를 부여한 자료구조
  • 같은 타입의 데이터만 저장이 가능하다
  • 처음 선언한 데이터의 길이 값이 고정되어 늘리거나 줄일 수 없다
  • 현재는 거의 사용하지 않고 arrayList라는 클래스를 사용한다

 

-사용

  • 선언
    • type[] 변수명;
      type 변수명[];
    • 대괄호를 type뒤에 붙여도 되고 변수명 뒤에 붙여줘도 작동이 되지만 자바에서는 일반적으로 type뒤에 작성해준다
    • type에는 기본타입뿐 아니라 참조 타입도 넣어줄 수 있다
      • int [] num;이라고 선언 시 num이라는 배열에는 int타입의 리터럴만 저장이 가능
      • String [] str;이라고 선언 시 str이라는 배열에는 String타입의 리터럴만 저장이 가능
  • 초기화
    • type[] 변수명 = new int[배열의 길이];
      type[] 변수명 = {리터럴 값1, 리터럴 값2, 리터럴 값3...};
    • 두 가지 방법으로 초기화가 가능하다
    • 첫 번째 방법에서 배열의 길이 부분에 5를 넣어준다면 5칸의 배열이 생성된다
      • int[] num = new int[5];
        num[0] = 1;
        num[1] = 2;
        num[2] = 3;
        num[3] = 4;
        num[4] = 5;
      • 위와 같이 길이를 5로 정해주면 int타입의 5칸짜리 배열 num이 생성된다.
      • 그 뒤 배열의 index번호에 값을 입력해 주면 된다.
      • index는 0부터 시작하므로 꼭 기억하도록 하자 
      • 만약 어떤 위치의 값을 출력해주고 싶다면 -1을 해주면 된다
        • 5칸 배열의 3번째 값을 출력하고 싶다면 3 - 1을 해주면 2이기 때문에 세 번째 칸의 배열 값이 나온다
    • 두 번째 방법은 리터럴 값을 넣어준 만큼 길이가 설정된다
    • new로 초기화를 진행한 경우 기본적으로 들어가는 값들이 있다
      • 정수
        • byte : 0
        • char : '\u0000'
        • short : 0
        • int : 0
        • long : 0L
      • 실수
        • float : 0.0F
        • double : 0.0
      • 논리
        • boolean : false
      • 참조
        • Class : null
        • Interface : null
    • 초기화를 했을 때 아무 값도 넣지 않을 경우 위와 같이 타입별로 초기화가 된다.
  • 값 입력
    • int[] num = new int[5];
      for(int i = 0; i < 5; i++) {
      	num[i] = i + 1;
      }
    • 이런 식으로 값을 넣어주는 방법이 있다
    • 선언과 초기화를 동시에 한다면 중괄호 안에 리터럴을 직접 입력해주면 되지만 배열의 생성만 했다면 위와 같이 자료를 삽입해 줘야 한다
    • 숫자의 경우 index를 순차적으로 올려가면서 위의 코드와 같이 1~5까지의 숫자를 0~4까지의 index값에 삽입이 가능하다
    • 반복문을 사용해주지 않을 경우 num [0]~num [4]를 하나하나 사용해주면서 각각 값을 넣어줘야 한다.
  • 배열 길이
    • 배열은 길이를 구하는 일이 많을 것이다 이때마다 배열의 길이를 직접 써주는 것보다는 Length함수를 사용하면 간편하게 길이를 구할 수 있다
    • int[] num = {1, 8, 9, 2, 3, 4, 9, 5, 0, 3, 4};
      
      System.out.println(num.length);
    • 11이 출력될 것이다.
    • 위의 코드와 같이 배열에 리터럴을 입력해 초기화를 해준 경우 길이를 구하려면(몇 칸인지 구하려면) 일일이 세줘야 하지만 length를 사용하면 컴퓨터가 알아서 해준다.
  • 사용
    • 배열 내부의 값 중 특정 칸에 어떤 값이 들어있는지 확인을 하려면 아래 코드를 참고하자
    • System.out.println(num[2]);
    • 배열 길이의 코드와 이어서 본다면 9가 출력이 될 것이다.
    • 앞서 말했듯 index는 0부터 시작한다.
    • 그렇기 때문에 2를 입력해주면 3번째 칸의 값이 출력이 된다.

+ Recent posts