ABOUT ME

Today
Yesterday
Total
  • 배열
    자바 2019. 4. 2. 18:40

    배열의 선언

    배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이고,

    배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다.

    참조변수를 통해 데이터가 저장된 공간에 접근한다.(객체)

    int[] score

     

    배열의 생성

    배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어지는 것이다.

    int[] score = new int[5]

     

    배열의 길이

    이미 생성된 배열의 길이는 변하지 않는다(컬렉션과비교).

     

    배열 선언시 주의사항

    int[] score;

    score = new int[] {1,2,3,4,5} // ok

    score = {1,2,3,4,5} // 에러

    - 배열의 선언과 생성을 따로 하는 경우에는 생략할 수 없다는 점을 주의

     

    배열 출력

    Arrays.toString();

    배열의 값을 바로 출력할 경우에는 배열의 주소가 출력된다.

     

    배열 복사

    System.arraycopy(num, 0, newNum, 0, num.length);

    num의 0번값을 newNum의 0번째로 num.length만큼 복사

     

    String 클래스의 주요 메소드

    char charAt(int index); 문자열에서 해당 위치(index)에 있는 문자를 반환한다.

    int length(); 문자열의 길이를 반환한다.

    length() 이것은 문자열의 길이 확인

    length 배열의 길이 확인

    size() 컬렉션 타입의 길이를 확인

     

    String substring(int from, int to); 문자열에서 해당 범위(from ~ to)에 있는 문자열을 반환한다.(to는 범위에 포함되지 않는다)

    boolean equals(String str); 문자열의 내용이 같은지 확인한다. 같으면 결과는 true, 다르면 false가 된다.

    ==로 비교할시에는 객체의 주소를 비교하기에 의도치 않은 결과가 발생할 수 있다.

    char[] toCharArray(); 문자열을 문자배열(char[])로 변환해서 반환한다.

     

    다차원배열에서의 for문 활용

      int[][] score = { 
              {100,100,100} 
             ,{20,20,20} 
             ,{30,30,30} 
             ,{40,40,40} 
      }; 
      int sum=0; 
       
      for(int[] tmp : score) { 
          for(int tmpp : tmp) { 
          sum += tmpp; 
      }
      }

     

    가변배열

    2차원 이상의 다차원 배열을 생성할 때 전체 배열 차수 중 마지막 차수의 길의를 지정하지 않고, 추후에 각기 다른 길이의 배열을 생성함으로서 고정된 형태가 아닌 보다 유동적인 가변 배열을 구성할 수 있다.

    int[][] score = new int[5][];
    score[0] = new int[3];
    score[1] = new int[2];
    score[2] = new int[4];
    score[3] = new int[2];
    score[4] = new int[3];

     

     

    남궁성,『Java의 정석』,도우출판

    '자바' 카테고리의 다른 글

    JVM(Java Virtual Machine)  (0) 2021.03.10
    어노테이션  (0) 2019.09.17
    컬렉션 프레임워크  (0) 2019.04.15
    제너릭  (0) 2019.04.14
    예외처리  (0) 2019.04.09
Designed by Tistory.