자바 배열 다루기(다차원 선언후 초기화등)
Java의 배열에서 메모리 할당 방식:
stack area - 배열 이름만 (메서드 내부에서 선언했을 경우. 4byte)
heap area - 실제 배열 크기 할당. new 동적 메모리 할당자 이용, Garbege컬렉션에 의해 자동 소멸.
선언, 초기화
1) 선언 후 초기화
int[] a; int a[]; a = new int[3]; a = new int[]{1,2,3};
int[][] a; int[] a[]; int a[][]; a = new int[3][]; a = new int [3][2];
a = new int[][]{{1,2},{3,4}};
2) 선언과 동시에 초기화
int[] a = {1,2,3}; int a[] = {1,2,3};
int[][] a = {{1,2},{3,4}};
cf. 1,2차원 배열 동시 선언
int[] a,b[]; //a: 1차원, b: 2차원.
다이나믹한 2차원 메모리할당.
char[][] a = new char[2][];
a[0] = new char[3];
a[0][0] = 'c'; a [0][1] = 'a'; a[0][2] = 'r';
a[1] = new char[5];
a[1][0] = 'j'; a[1][1] = 'a'; a[1][2] = 'v'; a[1][3] = 'a'; a[1][4]='!';
System.out.println("배열길이:" + arr.length); //배열길이확인
System.out.println("배열원소:" + arr[0]+" "+arr[1]+" "+arr[2]);