ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • CHAPTER 5. (1) 배열이란?
    java/ㄴ CHAPTER 5. 배열 2020. 3. 17. 20:26

    변수는 값을 하나밖에 담지 못함
     - 만약 10000개 데이터 저장하기 위해 같은 수의 변수를 선언해야 한다면 매우 힘듬

     = 이럴때 사용하는 것이 배열

     

     

     

    배열
    같은 타입 여러 변수를 하나의 묶음으로 다루는 것

    특징
     - 같은 타입만 묶음 가능 (다른 타입은 묶을 수 없음)
     - 각 저장공간이 연속적으로 배치됨
     ★ 만들어진 변수는 배열을 다루는데 필요한 참조변수 (저장 공간 아님)
     - index로 상수 대신 변수, 수식 사용 가능 
     - JVM이 모든 배열 길이를 별도 관리
     - 생성시 길이 변경 불가 (값 읽기만 가능, 변경 불가)

    실제 자바 프로젝트 배열 많이 안씀
     - 불편함 (훨씬 편리한 게 있음)
     (실제에선 배열보다 리스트를 많이 쓸 거임)

     



    배열 선언
     ㄴ 타입[] 변수이름;
     ex. int[] a;

    배열 생성
     ㄴ 변수이름 = new 타입[길이];
     ex. a = new int[5];

    배열 선언, 생성 동시
     ex. int[] a = new int[5];
     ㄴ bl, char는 배열로 자주 만들지 않음



    요소element
     - 생성된 배열의 각 저장공간

    인덱스index
     -  배열의 요소마다 붙여진 일련번호

     

     


    배열이름.length
     - 배열의 길이 확인
     - for문에 배열의 길이를 직접 적는 것 보다 (배열이름.length) 사용 권장
     (조건식 일일이 변경하지 않아도 됨)

    (모든 배열은 length라는 field를 갖고 있다)
    (field는 변수같은 것)

     

     

     

    Array.toString(배열이름)
     - 배열의 모든 요소를 [첫번째 요소, 두번째 요소, ...] 형식의 문자열로 반환
     (import.java.util.Arrays; 추가 필요)

    ex. int[] arr = {10, 20, 30}
    System.out.println(Array.toString(arr));
     = [10, 20, 30] 출력

    바로 출력시 
    ex. int[] arr = {10, 20, 30}
    System.out.println(arr);
     = [I@14318bb] 등... 출력

    왜?
     ㄴ 타입@주소 형식으로 출력됨 (배열의 값이 아니라 배열을 가리키는 참조변수라서)

     

    ★ ex.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            // 정수형 배열
            int[] scores = {10, 40, 100};
            // [10, 40, 100]
            
            // 실수형 배열
            double[] rates = {0.05, 0.001, 0.005};
            // [0.05, 0.001, 0.005]
            
            // ★ String형 배열 
            String[] names = {"홍길동", "김유신", "강감찬"}; 
            // [#123, #54678, #5758] (각 홍길동, 김유신, 강감찬 객체가 생성되고, 그 객체를 가리키는 주소값이 들어감)

     



    char 배열은 구분자 없이 그대로 출력됨 

    ex.char[] arr = {a, b, c, d} 
    System.out.println(arr);  
     = abcd 출력 



    변수 타입에 따른 기본값 
     ㄴ boolean : false 
     ㄴ char : '\u0000' 
     ㄴ byte, short, int : 0 
     ㄴ long : 0L 
     ㄴ float : 0.0f 
     ㄴ double : 0.0 
     ㄴ 참조형 : null 

     


    null 
     - 객체를 참조하지 못하게 하는 어떤 값 (어떤 값인지는 알려주지 않음) 
     - 기본 타입에는 null 입력 불가

     

     

     

     

     

Designed by Tistory.