본문 바로가기

자바스프링웹공부(2024)/자바

2024.08.09. 다차원 배열

반응형

* 다차원 배열

  - 1차원 배열 여러개가 모여 2차원 이상의 배열을 이루는 것.
  - 일반적으로 다차원 배열 = 2차원 배열을 의미


 
* 2차원 배열
  - 행, 열의 구조로 이루어진 배열 (이해하기 쉽게 생각하면)
  - 실제 데이터가 저장되는 공감. = 열
    열 공간의 주소를 저장하는 공간 = 행
  - 배열 크기 : 
    1) 행크기 : 배열명.length 
    2) 열크기 : 배열명[행인덱스].length, ex. arr[0].length
 
 < 2차원 배열 선언 기본 문법 >
 데이터타입[][] 변수명;
 
 < 2차원 배열 생성 기본 문법 >
 변수명 = new 데이터타입[행크기][열크기];
 
 < 2차원 배열 인덱스 접근 기본 문법 >
 변수명[행인덱스][열인덱스];
 
 < 2차원 배열 선언 및 생성, 초기화를 한꺼번에 수행하는 방법 >
 데이터타입[][] 변수명 = {
  {1, 2, 3}, 
  {4, 5, 6}, 
  {7, 8, 9}
 };
   =>바깥 중괄호 내의 안쪽 중활호 갯수 : 행의 갯수
   =>안쪽 중괄호 내의 데이터 갯수 : 각 행의 열의 갯수

 

 < 2차원 배열 선언 및 생성, 초기화를 따로따로 수행하는 방법 >

int[][] arr2 = new int[3][]; // 행크기는 알지만 열크기는 모른다.
//arr2[0] = {1,2,3}// 2차원배열에서는 중괄호를 따로 못써서 에러가 난다.
arr2[0] = new int[] {1,2,3};
arr2[1] = new int[] {4,5};
arr2[2] = new int[] {6,7,8,9,10};

// 오류 배열 생성 예 : 다차원 배열에서는 행으로 데이터 넣을 때 하나씩 넣는게 아니라 배열로 넣어야 함.
int[][] arr2 = new int[3][]; 
arr[0][0] = 1;  
arr[0][1] = 4;

 

< for 문으로 2차원 배열 접근하기 >

for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        System.out.print(arr[i][j]);
    }
}

// for 활용(실제 메모리 모양) : arr 배열의 인덱스 마다 각각의 1차원 배열을 가지고 옴.
// 1차원 배열을 하나씩 끊어서 ar에 담아서 출력함.
for (int i = 0; i < arr.length; i++) {
    int[] ar = arr[i];
    for (int j = 0; j < ar.length; j++) {
        System.out.print(ar[j]);
    }
}
반응형

'자바스프링웹공부(2024) > 자바' 카테고리의 다른 글

2024.08.26.클래스, 인스턴스  (0) 2024.08.26
2024.08.12. 메서드  (0) 2024.08.17
2024.08.06. 배열 1  (0) 2024.08.06
2024.08.05. break && continue  (4) 2024.08.05
2024.08.05. 중첩for  (0) 2024.08.05