배열이 반 이라면
이차원 배열은 반 몇번 누구누구
1차원 배열 안에 또 다른 배열이 있는 형태
이차원배열 선언 방법
int[][] array = new int[][] ;
// 이차원 배열 알아보기 !
int[행][열]
// 1. 이차원배열 생성하기
// 정수형 데이터를 보관할 수 있는 이차원 배열 생성
int[][] array = new int[3][3]; // [행][열] 순서!
System.out.println(array);
System.out.println(array[0]);
System.out.println(array[0][0]);
// 몇번째 행의 몇번 인덱스로 들어갈지!
// 2. 이차원 배열 값을 넣으면서 생성
int[][] array2 = { {1,2,3},
{4,5,6},
{7,8,9} };
System.out.println(array2[1][1]);
// 3. 이차원 배열 안에 값 넣기!
int num = 1;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
array[i][j] = num;
System.out.println("array["+i+"]["+j+"] = " + num);
num++;
}
}
// 최종출력 방법
System.out.println(Arrays.deepToString(array));
/* 문제
* 이차원 배열 예제 1. 정수형 데이터를 저장할 수 있는 5행 5열 크기의 array를 선언하시오. 2. 아래와 같이 21 ~ 45 까지의
* 숫자를 저장하고, 출력하시오.
*/
// 1. 5행 5열 이차원 배열 생성하기
int[][] array = new int[5][5];
// 2. 21부터 시작하는 변수 num 선언하기
int num = 21;
// 3. 열부터 데이터가 저장될 수 있도록 코드 작성
for (int j = 0; j < array.length; j++) {
for (int i = 0; i < array.length; i++) {
array[i][j] = num++;
}
}
// 4. 출력하기
for (int j = 0; j < array.length; j++) {
for (int i = 0; i < array[0].length; i++) {
System.out.print(array[j][i] + "\t");
}
System.out.println();
}
/*
* 이차원배열예제 - 스네이크 모양
* 1. 정수형 데이터를 저장할 수 있는 5행 5열 크기의 array를 선언하세요.
* 2. 아래와 같이 21 ~
*
* 45까지의 숫자를 저장하고, 출력하세요.
*/
int[][] array = new int[5][5]; // 정수형 변수명 : array , 5공간으로 선언.
int num = 21; // 정수형 변수명 : num , 대입(num이 가지는 값)은 21 로 선언.
// 반복 배열 길이만큼, 할때마다 증가함, 증가는 배열길이만큼
for (int i = 0; i < array.length; i++) {
// int[값] > 1 , 3 > if{}
if (i % 2 == 1) {
// [1][0] ~ [1][4]
// [3][0] ~ [3][4]
for (int j = array.length-1; j > -1; j--) {
// [1][0] ~ [1][4] = 각각 들려서 증가된 num 값을 넣어줌
// [3][0] ~ [3][4] = 각각 들려서 증가된 num 값을 넣어줌
array[i][j] = num++; //num 증감자 증가 ++ (증감자는 후위)
}
// int[값] > 0 , 2 , 4 > else{}
} else {
// [0][0] ~ [0][4]
// [2][0] ~ [2][4]
// [4][0] ~ [4][4]
for (int j = 0; j < array.length; j++) {
// [0][0] ~ [0][4] = 각각 들려서 증가된 num 값을 넣어줌
// [2][0] ~ [2][4] = 각각 들려서 증가된 num 값을 넣어줌
// [4][0] ~ [4][4] = 각각 들려서 증가된 num 값을 넣어줌
array[i][j] = num++; //num 증감자 증가 ++ (증감자는 후위)
}
}
}
// 반복 배열 길이만큼, 할때마다 증가함, 증가는 배열길이만큼
for (int j = 0; j < array.length; j++) {
// 반복 배열 길이만큼, 할때마다 증가함, 증가는 배열길이만큼
for (int i = 0; i < array.length; i++) {
// 배열 값 출력
System.out.print("array[" + i + "][" + j + "]=" + array[j][i] + "\t");
}
// 줄 계행
System.out.println();
}
// 문제 2번째 방법
/*
* 이차원배열예제 - 스네이크 모양
* 1. 정수형 데이터를 저장할 수 있는 5행 5열 크기의 array를 선언하세요.
* 2. 아래와 같이 21 ~ 45까지의 숫자를 저장하고, 출력하세요.
*/