다차원 배열이란 2차원이상의 배열을 의미하며 배열요소로 또 다른 배열을 가지는 배열을 말한다.
2차원 배열 선언하기
1. 자료형[][] 배열이름;
2. 자료형 배열이름[][];
3. 자료형[] 배열이름[];
2차원 배열 생성하가
배열이름 = new 자료형[행][열];
동시에 배열 생성하기
// 자료형[][] 배열이름 = new 자료형[행길이][열길이];
int[][] array1 = new int[2][3];
int[][] array1 = new int[][] {{1,2,3},{4,5,6}};
//new int[][]부분을 생략할 수 있다.
int[][] array1 = {{1,2,3},{4,5,6}};
//배열이름[행][열];
array1[0][1] // 2
행 길이
: 배열이름.length
열 길이
: 배열이름[0].length
✍️ 예시코드
public class TwoArray {
public static void main(String[] args) {
int[][] array1 = new int[][] {{1,2,3},{4,5,6}};
for(int i =0; i<array1.length; i++) {
for(int j=0; j<array1[i].length; j++) {
System.out.print(array1[i][j]+ " ");
}
System.out.println();
}
}
}
👉 실행화면
1 2 3
4 5 6
: 생성시 열의 길이를 따로 명시하지 않는다.
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[4];
arr[2] = new int[1];
case1.2차원 배열 선언하고 한 행마다 초기화하기
int[][] array2 = new int[3][];
array2[0] = new int[]{1,2,3};
array2[1] = new int[]{4,5};
array2[2] = new int[]{6};
case2.2차원 배열 한번에 초기화하기
int[][] array3 = {
{1},
{2,3},
{4,5,6}
};
✍️ 예시코드
public class TwoArray {
public static void main(String[] args) {
int[][] array2 = new int[3][];
array2[0] = new int[]{1,2,3};
array2[1] = new int[]{4,5};
array2[2] = new int[]{6};
for(int i =0; i<array2.length; i++) {
for(int j=0; j<array2[i].length; j++) {
System.out.print(array2[i][j]+ " ");
}
System.out.println();
}
int[][] array3 = {
{1},
{2,3},
{4,5,6}
};
for(int i =0; i<array3.length; i++) {
for(int j=0; j<array3[i].length; j++) {
System.out.print(array3[i][j]+ " ");
}
System.out.println();
}
}
}
👉 실행화면
1 2 3
4 5
6
1
2 3
4 5 6
배열 선언방법이 좀 헷갈린다.
1차원 배열 선언하기
//선언만하기
1. int[] array = new int[4];
//초기화 동시에 하기
2. int[] array = {1,2,3,4};
소중한 정보 감사드립니다!