ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • DAY6. 배열
    기록 2022. 9. 9. 19:08

    - 배열은 여러 개의 데이터를 저장할 수 있다.

    - 배열을 이용하면 하나의 변수명으로 여러 개의 데이터를 관리할 수 있다.

    - 배열은 순서대로 번호(인덱스)가 붙은 요소들이 연속적인 형태로 저장된다.

    - 각 요소에 부여되는 번호(인덱스)0번부터 시작하며, 각 요소마다 순서대로 번호(인덱스)가 부여된다.

    - 인덱스의 범위는 아래와 같다.

    0 <= 인덱스번호 < 배열의크기

    - 배열에 저장된 데이터는 번호(인덱스)로 각 요소에 접근할 수 있다. (단점) 몇 번째에 담아야하는지 인덱스를 신경쓰고 있어야 한다.

    - 자바의 배열은 일정한 크기를 가진다.

    - 자바의 배열은 한 번 정해진 크기를 변경할 수 없다. (가장 큰 단점)

    ex. 성적장학금을 10명이 받을 수 있다고 예측했는데 15명이 대상일 때 문제가 됨.

    - 자바의 배열은 동일한 타입의 값만 저장할 수 있다. (장점이자 단점) 동일한 타입이 꺼내질 것임을 예상 가능하다.

    (컬렉션은 다른 타입도 저장 가능)

    - 배열에는 length라는 변수가 있으며, 배열의 크기가 저장되어 있다.

    - 값을 세팅하지 않아도 기본default값이 들어가 있다.

    변수는 생성하고 초기화하지 않으면 쓰레기값이 들어가있지만,

    배열객체는 저장소안에 절대 쓰레기 값이 들어가있지 않고 디폴트값이 기본으로 들어있다.

    - 배열객체는 고유한 주소값을 갖고 있다.

     

    배열 정의

    형식

    데이터타입[] 변수명 = new 데이터타입[크기];

    데이터타입[] 변수명 = {값, 값, 값, 값, ...};

    데이터타입[] 변수명 = new 데이터타입[]{값, 값, 값, 값, ...};

     

    int[] arr1 = new int[5];

    // int[] arr1 -> arr1은 정수를 여러 개 저장하는 배열 객체의 주소값을 담을 수 있는 변수다.

    // new int[5] -> 정수 5개 담을 수 있는 배열 객체를 생성한다.

    // int[] arr1 = new int[5]; -> 정수 5개를 담을 수 있는 배열객체를 생성하고, 그 객체의 주소값을 arr1에 대입한다.

     

    배열에 값 저장하기

    arr1[0] = 34;

    arr1[1] = 50;

    arr2[3] = 3.14;

    arr2[4] = 0.256;

    arr3[0] = "홍길동“;

    arr3[1] = "김유신“;

     

    배열의 값 사용하기

    System.out.println(arr1[0]);

    int sum = arr1[0] + arr1[1];

    String name = arr3[0];

     

    String은 객체이기 때문에 객체 자체를 담지는 못하고 참조한다. 객체의 주소값을 담고 있다.

    null은 객체를 참조하고 있지 않다는 의미.

    객체를 대입한다는 것은 객체의 주소값을 대입한다는 것이므로

    name과 arr3[0]이 바라보는 객체는 같다.

    System.out.println(name); // 홍길동

    name이 바라보는 객체의 값을 출력한다.


    2차원 배열

      자료형[][] 변수명 = new 자료형[크기][크기];

      자료형[][] 변수명 = {{값,값,값},{값,값,값},{값,값,값}};
     

    2차원 배열의 모습

     

    댓글

Designed by Tistory.