반응형
| 2차원 배열이란?
2차원 배열은 행(row)과 열(column)을 구성되어 있습니다., 첫 번째 []는 행을, 두 번째 []는 열을 나타내며 자주 사용되는 데이터 구조이다.
[0][0] | [0][1] | [0][2] | [0][3] |
[1][0] | [1][1] | [1][2] | [1][3] |
[2][0] | [2][1] | [2][2] | [2][3] |
배열의 기본 개념
- 정의: 2차원 배열은 1차원 배열의 배열입니다. 예를 들어, int arr[3][4]는 3개의 행과 4개의 열을 가진 배열을 의미한다.
- 초기화: 2차원 배열을 선언하고 초기화하는 방법은 다양합니다. int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};처럼 선언한다.
2차원 배열 선언 및 초기화
- 배열 선언
public class Main {
public static void main(String[] args) {
int[][] arr; // arr이라는 이름의 2차원 배열을 선언
arr = new int[3][4]; // arr 배열을 3개의 행과 4개의 열을 가진 배열로 생성
// int[][] arr = new int[3][4]; 배열 선언과 생성을 동시에
}
}
- 배열 초기화
public class Main {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
}
}
배열을 선언하고 생성하는 동시에 초기값을 설정한다.
이 배열은 3개의 행과 4개의 열을 가지며, 각 요소는 중괄호로 묶여 초기화된다.
배열 요소 접근 및 수정
- 요소 접근
public class Main {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int value = arr[1][2]; // value = 7
}
}
배열 arr의 두 번째 행, 세 번째 열에 있는 요소를 접근한다. 이 경우 value는 7이 된다.
- 요소 수정
public class Main {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
arr[1][2] = 10; // arr[1][2]값이 10으로 변경
int value = arr[1][2]; // value 값에 10 할당
// {1, 2, 3, 4}, {5, 6, 10, 8}, {9, 10, 11, 12}으로 변경 됨.
}
}
배열 arr의 두 번째 행, 세 번째 열에 있는 값을 10으로 수정한다.
2차원 배열 출력하기
2차원 배열의 모든 요소에 접근하기 위해 이중 for문을 사용한다.
public class Main {
public static void main(String[] args) {
int[][] arr = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
for (int i = 0; i < arr.length; i++) { // 행
for (int j = 0; j < arr[i].length; j++) { // 열
System.out.print(arr[i][j] + " ");
}
System.out.println(); // 새로운 행으로 이동
}
}
}
위 프로그램 출력 결과, 행(3) 열(4)로 이루어진 배열의 값이 하나하나 모두 출력되는 것을 볼 수 있다.
1차원 배열과 달리 [] [] 2개로 이루어져 있어 어렵다고 생각할 수 있지만 몇 번 접하다 보면 금방 익힐 수 있는 배열이다.
반응형
'언어 공부하기 > JAVA 개념' 카테고리의 다른 글
[Java 자바] static 키워드 사용하는 이유란? static에 대해 알아보자 (Static) (0) | 2024.07.22 |
---|---|
[Java 자바] 객체와 인스턴스의 개념 알아보기 (Object, instance) (0) | 2024.07.09 |
[Java 자바] Split() 함수 사용 방법 및 예제 알아보기 (0) | 2024.05.22 |
[JAVA] StringBuilder란 무엇인가? StringBuilder의 주요 메소드 알아보기 (0) | 2024.05.02 |
[ Java 자바 ] StringTokenizer 클래스를 이용한 문자열 분리! (0) | 2024.04.15 |