import java.util.Arrays;
/*배열과 메모리
* 배열을 구성하는 데이터의 자료형에 따라서 배열의 메모리 크기가 결정된다.
* int[] arr = new int[3]
* int = 4byte의 크기
* int[3]은 12byte가 된다. 따라서 arr의 크기는 12byte 가된다.
*
* int i = 3; 같은 기본 자료형과 달리 배열변수는 배열 데이터의 주소를 가지고있는다.
* ->arr[1] 하면 arr[1]의 주소를확인하여 데이터를 가져옴
*/
public class arr_memory {
public static void main(String[] arg) {
System.out.println("배열 선언 및 초기화");
int[] arrAtt1 = {1,2,3,4,5,6};
int[] arrAtt2 = null;
int[] arrAtt3 = null;
System.out.println("배열 길이출력");
System.out.println("arrAtt1.length : "+arrAtt1.length+"\n");
System.out.println("배열 요소출력");
System.out.println("arrAtt1:"+Arrays.toString(arrAtt1)+"\n");
System.out.println("배열 요소복사");
arrAtt3 = Arrays.copyOf(arrAtt1,arrAtt1.length);
System.out.println("arrAtt3 : " + Arrays.toString(arrAtt1)+"\n");
System.out.println("배열 레퍼런스");
arrAtt2 = arrAtt1;
System.out.println("arrAtt1 : " + arrAtt1);
System.out.println("arrAtt2 : " + arrAtt2);
System.out.println("arrAtt3 : " + arrAtt3);
System.out.println("\n 다중배열");
int[][] arrMul = new int [3] [3];
arrMul[0][0] = 1;
arrMul[0][1] = 2;
arrMul[0][2] = 3;
arrMul[1][0] = 4;
arrMul[1][1] = 5;
arrMul[1][2] = 6;
arrMul[2][0] = 7;
arrMul[2][1] = 8;
arrMul[2][2] = 9;
System.out.println("arrMul[0] : " + Arrays.toString(arrMul[0]));
System.out.println("arrMul[1] : " + Arrays.toString(arrMul[1]));
System.out.println("arrMul[2] : " + Arrays.toString(arrMul[2]));
}
}
/*
배열 길이출력
arrAtt1.length : 6
배열 요소출력
arrAtt1:[1, 2, 3, 4, 5, 6]
배열 요소복사
arrAtt3 : [1, 2, 3, 4, 5, 6]
배열 레퍼런스
arrAtt1 : [I@7a81197d
arrAtt2 : [I@7a81197d
arrAtt3 : [I@5ca881b5
다중배열
arrMul[0] : [1, 2, 3]
arrMul[1] : [4, 5, 6]
arrMul[2] : [7, 8, 9]
*/