2차원 배열(2열 배열), 순회
- 1열로 구성된것을 배열이라고 하고, 이것은 말그대로 1열로 되어있기 때문에 1열배열 즉, 1차원 배열 이라고도 부릅니다.
- 1열배열을 위로 쌓으면 2열배열이 되고 이걸 2차원 배열이라고 합니다.
- 선언
- 2차원 배열을 선언할때는 1차원 배열에 대괄호를 하나더 추가해주면 됩니다.
- int[][] array
- int array[][]
- int[] array[]
- 2차원 배열을 선언할때는 1차원 배열에 대괄호를 하나더 추가해주면 됩니다.
- 생성
- 2차원 배열을 생성할때도 대괄호를 하나더 추가하면 됩니다.
- int[][] array = new int[][];
- 2차원 배열을 생성할때도 대괄호를 하나더 추가하면 됩니다.
- 초기화
// 중괄호를 사용해 초기화
int[][] array = {
{1, 2, 3},
{4, 5, 6}
};
// 반복문을 통한 초기화
int[][] array = new int[2][3]; // 최초 선언
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
arr[i][j] = 0; // i, j 는 위 노란색 네모박스 안에있는 숫자를 의미하며 인덱스 라고 부릅니다.
}
}
가변 배열
- Java 프로그래밍 에서는 2차원 배열을 생성할 때 열의 길이를 생략하여, 행마다 다른 길이의 배열을 요소로 저장할 수 있습니다.
- 이렇게 행마다 다른 길이의 배열을 저장할 수 있는 배열을 가변 배열이라고 합니다.
예제
package secondJava.array;
public class Arr07 {
public static void main(String[] args) {
// 가변 배열
// 선언 및 초기화
int[][] array = new int[3][];
// 배열 원소마다 각기다른 크기로 지정 가능합니다.
array[0] = new int[2];
array[1] = new int[4];
array[2] = new int[1];
// 중괄호 초기화할때도 원소배열들의 크기를 각기 다르게 생성 가능합니다.
int[][] array2 = {
{10, 20},
{10, 20, 30, 40},
{10}
};
}
}
다차원 배열 조회
- 2차원 배열 조회할때는 2차원 인덱스를 가진만큼 2중 반복문을 통해 출력할 수 있습니다.
- 2중 반복문을 통해 가변 배열도 출력 가능합니다.
package secondJava.array;
public class Arr08 {
public static void main(String[] args) {
// 최대값 구하기
int[] arr = { 3, 2, 1, 5, 1 };
// 최대값 초기값 세팅
int max = arr[0];
// 최대값 구하기
for (int num : arr) {
if (num > max) { // 반복문 돌면서 나(max)보다 값이 작으면 저장
max = num;
}
}
// 최대값 5 출력
System.out.println(max);
// 최소값 구하기
int[] arr1 = { 3, 2, 1, 5, 1 };
// 최소값 초기값 세팅
int min = arr[0];
// 최소값 구하기
for (int num : arr) {
if (num < min) { // 반복문 돌면서 나(min)보다 값이 작으면 저장
min = num;
}
}
// 최소값 1 출력
System.out.println(min);
}
}