728x90
반응형
📍 2차원 배열
: 자료형이 같은 1차원 배열의 묶음으로 배열 안에 다른 배열 존재
: 2차원 배열은 할당된 공간마다 인덱스 번호 2개 부여 [행][열]
📍 2차원 배열 선언과 할당
ex) int[][] arr = new int[3][4];
ex) int arr[][] = new int[3][4];
ex) int[] arr[] = new int[3][4];
📍 2차원 배열 초기화
🔹 인덱스를 이용한 초기화
arr[0][0] = 1;
arr[1][1] = 2;
🔹 for문을 이용한 초기화
for(int i = 0; i<arr.length; i++) {
for(int j = 0; j < arr[i].length; j++) {
arr[i][j] = j;
}
}
🔹 선언과 동시에 초기화
int[][] arr = {{1,2,3,4}, {5,6,7,8}};
int[][] arr = new int[][] {{1,2,3,4}, {5,6,7,8}};
String fruit[][] = {{"사과", "딸기", "석류"}, {"바나나", "참외", "레몬"}};
package example.demensionArray;
public class DemensionArray {
public void testDemensionArray() {
//2차원 배열 선언
int[][] arr;
int[] arr2[];
int arr3[][];
//2차원 배열 할당 : new연산자를 통해 heap영역에 공간 생성
arr = new int[3][5];
//열의 크기 생략 가능
//각 행마다 다른 열의 개수를 가지고 싶을 때 : 가변 배열
arr2 = new int[2][];
arr2[0] = new int[4];
arr2[1] = new int[2];
//2차원 배열에 직접 값 접근
System.out.println(arr); //arr의 주소값
System.out.println(arr[0]); //arr[0]의 주소값
System.out.println(arr[0][0]); //실제 값에 접근
//2차원 배열 초기화
int num = 1;
for(int i=0; i<arr2.length; i++) { //0,1
for(int j=0; j<arr2[i].length; j++) {
//arr2 가변배열이므로 arr2[0]은 0,1,2,3열
//arr2[1]은 0,1열
arr2[i][j] = num++;
}
}
//2차원 배열 출력
for(int i=0; i<arr2.length; i++) {
for(int j=0; j<arr2[i].length; j++) {
System.out.print(arr2[i][j] + " ");
}
System.out.println(); //개행
}
}
}
package example.demensionArray;
public class Run {
public static void main(String[] args) {
DemensionArray da = new DemensionArray();
da.testDemensionArray();
}
}
/*
[[I@372f7a8d
[I@2f92e0f4
0
1 2 3 4
5 6
*/
728x90
반응형
'Dev > Java' 카테고리의 다른 글
[JAVA기초(17)] 빙고 게임 실습 (0) | 2022.05.09 |
---|---|
[JAVA기초(16)] 2차원 배열 실습(1), (2) (0) | 2022.05.08 |
[JAVA기초(14)] 배열 실습(1), (2) (0) | 2022.05.08 |
[JAVA기초(13)] 배열 Array, 배열 복사 (0) | 2022.05.08 |
[JAVA기초(12)] 분기문 실습(1), (2) / next(), nextLine() 차이 / equals 메소드 (0) | 2022.05.08 |