2차원 배열
2023. 2. 17. 19:00ㆍ카테고리 없음
배열은 많은 데이터들을 하나로 묶어 처리할 때 유용한 자료 구조인데
데이터는 1차원뿐만 아니라 2차원도 될 수 있습니다.
만약 한 학생의 5과목의 성적을 1차원 배열로 저장을 했는데 3명 학생의 성적까지 저장하여야 할 때 3개의 1차원 배열보다 하나의 2차원 배열이 편리하다는 것입니다.
아래 문장은 3행 * 5열의 요소를 가진 2차원 배열은 선언한 것입니다.
2차원 배열을 사용할 때도 인덱스를 사용합니다.
(s [행 번호][열 번호] 형태)
int [][] s= new int [3][5];
아래 코드는 2차원 배열에 저장된 내용을 화면에 출력하는 코드입니다.
for(int i=0; i < 3; i++)
for(int j=0; j<5;i++)
System.out.println(s[i][j]);
2차원 배열에서는 같은 행의 요소를 중괄호로 묶으면 배열 초기화가 가능합니다.
아래와 같은 형태로 말입니다
int [][] testArray = {
{10,20,30},
{40,50,60},
{70,80,90}
};
1차원 배열과 마찬가지로 초기화 리스트가 존재하는 경우 new 연산자를 사용할 필요가 없습니다.
1차원 배열의 경우 하나의 length 필드가 존재하였지만 2차원 배열에서는 전체적으로 하나의 length 필드가 있음 뿐만 아니라 각 행마다 별도의 length필드, 각 행이 가지고 있는 열의 개수까지 나타냅니다.
package arrays;
import java.util.Scanner;
public class Arrytest1 {
public static void main(String[] args) {
int [] [] array = {
{10,20,30,40},
{50,60,70,80},
{90,100,110,120}
};
for (int r=0; r < array.length; r++){
for (int c=0; c < array[r].length; c++) {
System.out.println(r + "행"+ c + "열:" + array[r][c]);
}
}
}
}

다른 언어와 마찬가지로 자바에서도 얼마든지 다차원 배열을 생설할 수 있습니다.