05_Array(2)

김정욱·2022년 12월 14일
0

JAVA 복습

목록 보기
4/15
post-thumbnail
post-custom-banner

<다차원 배열( 2차원 배열 위주로 설명)>

1) 정의

  • 자료형이 같은 1차원 배열의 묶음

2) 선언 및 할당

<선언>	// stack 메모리에 생성, heap메모리 2차원배열 시작 주소값을 따른다
자료형[][] 배열명;
--------------------------------------------------------------------
int[][] arr;  //(== 자료형 배열명[][] // 자료형[] 배열명[])
[]는 하나의 차원을 뜻한다.
<할당>	// heap 메모리에 생성
		// 각 행들은 자기 열(1차원 배열)의 첫번째 주소를 참조
-------------------------------------------------------------
new int[2][3] : 2. 3열의 크기로 할당
<선언과 동시에 할당>
--------------------------------
int[][] arr = new int[2][3];

3) 초기화

  • 각 행의 열에 값을 대입
<인덱스를 이용한 초기화>
------------------------------------
arr[0][0] = 0;
arr[0][1] = 1;
....
<2for문을 이용한 초기화>
------------------------------------------------------
for(int row=0; row<arr.length; row++){
	for(int col=0; col<arr[0].length; col++){
    	arr[row][col] = row+col;
    }
}
<선언과 동시에 초기화>
-----------------------------------------------------
int arr[][] = {
				{1, 2, 3}
                {4, 5, 6}
                {7, 8, 9}
              };  // 3행 3열
(== {{1,2,3}, {4,5,6}, {7,8,9}});   

4) 가변배열

  • 열의 개수가 다른 같은 자료형의 1차원 배열의 묶음

int[][] arr = new int[3][]; // 일단 3행을 만들고
arr[0] = new int[3]; // 0행에 3열의 1차원 배열 생성 후 주소값 지정
arr[1] = new int[1]; // 1행에 1열의 1차원 배열 생성 후 주소값 지정
....

*코드

Arrays.toString(배열명) : 1차원 배열의 값들 출력
--------------------------------------------------------
int[] arr = {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(arr));
->  [1, 2, 3, 4, 5]
Arrays.deepToString(배열명)
: 참조하고 있는 배열의 데이터가 나오는 부분까지 들어가서 데이터 출력.
  2차원 이상 배열에서 출력하기 위해 사용
------------------------------------------------------------------
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
System.out.println(Arrays.deepToString(arr));
-> [[1, 2, 3] [4, 5, 6] [7, 8, 9]]
         
profile
절박한 마음을 갖고 하루를 보내자!!
post-custom-banner

0개의 댓글