공부하는 다락방

열혈강의 Java프로그래밍 Round 8 본문

Java

열혈강의 Java프로그래밍 Round 8

권파인 2014. 12. 8. 18:27

# 배열의 정의 : 동일한 자료 형으로 선언된 데이터 공간을 메모리 상에 연속적으로 나열하여 데이터 관리의 효율성을 높인 것

# 기존 자료 처리와 배열의 비교
- 동일 자료형의 관리
- 유사 문구의 관리

# 단일 차원 배열의 선언
- 자료형[] 배열명;
- 자료형 배열명[];

# 단일 차원 배열의  초기화
- 배열명 = new 자료형[개수];
    ex) int sub[] = new int[3];
- 배열명 = new 자료형[]{초기값, 초기값...};
    ex) int sub1[] = new int[]{100, 50, 70};
    * default 초기화
    //boolean --> false
    //byte, short, int --> 0
    //char --> 0, '\0'
    //long --> 0L
    //float --> 0.0f
    //double --> 0.0
    //String --> null

# 선언과 초기화
- 자료형[] 배열명 = {초기값, 초기값...};

# 배열 관리
- 배열명은 Reference임
- 배열명은 4byte 객체임 (자료형과 상관없이 배열명은 무조건 4byte임)
- 배열의 길이는 length 속성을 영역에 표시됨
- 배열의 실제 데이터는 Heap영역에 표시됨 (new 연산자의 의미 : Heap에 대한 할당)
- Garbage Collection에 의해 소멸됨
- 각 공간은 첨자로 구분됨 (첨자는 0부터)
- 공간의 값은 자동으로 Default 초기화 됨 (배열은 따로 초기화를 안 해도 됨. 일반 자료형 데이터는 초기화가 필수!)
- 동적으로 공간 할당이 가능함 (입력받은 값을 통해서 동적으로 배열을 할당 할 수있음. 획기적인 발상!!)

# main 메서드의 String 배열
(public static void main (String[] args))
- 용도 : 프로그램 시작 시 초기값 전달
- 형식 : java 클래스명 초기값 초기값 ...
- 배열 길이 : args.length
- 종료 메서드 : System.exit(처리수)

==========================================================================

# 다차원 배열의 선언
- 자료형[][] 배열명;
- 자료형[] 배열명[];
- 자료형 배열명[][];

# 다차원 배열의 초기화
- 배열명 = new 자료형[개수][개수];
- 배열명 = new 자료형[][]{{...},{...}};
- 배열명 = new 자료형[개수][]; //동적배열
    * 개수 지정할 때 앞에서부터 입력, 중간에 입력 안 하면 안 됨.

# 다차원 배열 관리
- 다차원 배열에서 각 영역은 모두 Reference이고, 마지막 배열 공간만 실제 데이터 공간임
    * 다른곳에 주소를 기억해야하기 때문에 무조건 4byte, 마지막 배열 공간에서야 실제 자료형 데이터 크기
- 다차원 배열은 단일 차원 배열로 구성됨
    *** 자바는 1차원 배열밖에 기억을 못 함.
- 다차원 배열은 다중 for문과 함께 사용
- 다차원 배열에서는 동적배열이 가능

 

Comments