2차원 배열

민범·2023년 12월 20일

Java -기본-

목록 보기
12/18

2차원 배열

  • 2차원 배열은 이름 그대로 하나의 차원이 추가되 행과 열로 구성된 배열을 의미한다.
  • 2차원 배열은 int[][] arr = new int[2][3]와 같이 선언하고 생성된다. 그리고 arr[1][2]와 같이 사용하는데, 먼저 행 번호를 찾고, 그 다음에 열 번호를 찾으면 된다.
    -> arr[행][열]
int[][] arr = new int[2][3]; //행2 열3
***
arr[0][0] = 1; // 0행, 0열
arr[0][1] = 2; // 0행, 1열
arr[0][2] = 3; // 0행, 2열
arr[1][0] = 4; // 1행, 0열
arr[1][1] = 5; // 1행, 1열
arr[1][2] = 6; // 1행, 2열
  • 이 코드는 2차원 배열을 만들고 배열의 1행과 2행에 값을 직접 넣는 코드 이다.

2차원 배열 - 리펙토링

int[][] arr = {
	{1,2,3}, 
	{4,5,6}
}; // 2x3 2차원 배열, 초기화
***
//2차원 배열의 길이를 활용
for(int row = 0; row < arr.length; row++) {
	for(int column = 0; column < arr[row].length; column++) {
    System.out.print(arr[row][column] + " ");
  }
	System.out.println(); //한 행이 끝나면 라인을 변경한다.

초기화

  • 1차원 배열은 {1, 2, 3}과 같이 초기화 한다.
  • 2차원 배열은 { {1, 2, 3}, {4, 5, 6} }과 같이 초기화 한다. 밖이 행이되고, 안이 열이 된다. 그런데 이렇게 코드를 적으면 행열이 잘안느껴진다.
  • 이렇게 라인을 넘겨주면 행과 열이 명확하게 느껴져 코드를 이해하기 쉽다
{
  {1, 2, 3}, 
  {4 ,5 ,6} 
}
  • for문에서는 2차원 배열의 길이를 활용했다.
  • arr.length는 행의 길이를 뜻한다. 여기서는 2가 출력된다.
    ▶️ {{}, {}}를 생각해보면 arr배열은 {},{}2개의 배열 요소를 가진다.
  • arr[row].length는 열의 길이를 뜻한다. 여기서는 3이 출력된다.
    ▶️ arr[0]{1,2,3} 배열을 뜻한다. 이 배열에는 3개의 요소가 있다.
    ▶️ arr[1]{4,5,6} 배열을 뜻한다. 이 배열에는 3개의 요소가 있다.

구조 개선 - 값 입력

  • 이번에는 배열에 직접 1,2,3 숫자를 적어서 값을 할당하는 것이 아니라, 배열의 크기와 상관없이 배열에 순서대로 1씩 증가하는 값을 입력하도록 변경해보자.
int [][] arr = new int[2][3];
***
int i = 1;
//순서대로 1씩 증가하는 값을 입력한다.
for (int row = 0; row < arr.length; row++) {
	for(int column = 0; column < arr[row].length; column++){
    	arr[row][column] = ++i;
      }
   } 
***
//2차원 배열의 길이를 활용
for(int row=0; row < arr.lenght; row++) {
	for(int column = 0; column < arr[row].length; column++) {
    	System.out.print(arr[row][column] + " ");
    }
  • 중첩된 for문을 사용해서 값을 순서대로 입력한다.
  • arr[row][column] = i++후의 증감 연산자 (++)를 사용해서 값을 먼저 대입한 다음에 증가한다.
    ▶️ 코드에서 int i = 1으로 i가 1부터 시작한다.
profile
웹 백엔드 개발자를 지향하고 있습니다.

0개의 댓글