데이터형[][] 배열이름;
배열이름 = new 데이터형[행][열];
데이터형[][] 배열이름 = new 데이터형[행][열];
2차원 배열의 선언, 크기 할당, 값의 대입에 대한 일괄처리
- 2차원 배열의 경우 블록 괄호 "{}"를 2중으로 겹쳐서
2차원 배열을 표현한다.
- 행과 열의 구분에는 콤마(,)가 사용된다.
데이터형[][] 배열이름 = new 데이터형[][]{ {0행0열의 값, 0행1열의 값, ... ,0행n열의 값}, {1행0열의 값, 1행1열의 값, ... ,1행n열의 값}, ... {n행0열의 값, n행1열의 값, ... ,n행n열의 값} };
2차원 배열에 대한 값의 대입 방법
(1) 배열이름[행][열] = 값;
int[][] grade = new int[3][3]; grade[0][0] = 75; grade[0][1] = 82; grade[0][2] = 91; ....
(2) 일괄지정하는 경우
int[][] grade = new int[][]{ {75, 82, 91}, {88, 64, 50}, {100, 100, 90} };
- 2차원 배열의 길이는 행에 대한 측면과 열에 대한 측면을 나누어서 생각해야 한다.
- 행의 길이
-> 1차 배열의 길이는 2차 배열에서는 행의 크기로 조회가 된다.int rows = grade.length;
- 열의 길이
-> 열의 길이는 각 행에 대하여 개별적으로 조회해야 한다.int cols = grade[행].length;
public class Main01 {
public static void main(String[] args) {
// 성적표에 대한 2차 배열 생성.
// 학급 성적을 위한 배열.
int[][] grade = new int [][] {
{75,82,91}, // 1열의 값 대입
{88,64,91}, // 2열의 값 대입
{100,100,90}// 3열의 값 대입
};
// 2차 배열을 탐색하여 총점과 평균점수 구하기
for(int i = 0; i < grade.length; i ++) {
// 반복문 안에서 선언된 변수는 매 실행시마다 새로 생성된다.
int sum = 0;
int avg = 0;
for( int j = 0; j < grade[i].length; j++) {
// i번째 행의 j번째 열의 데이터를 누적 처리
sum+= grade[i][j];
}
// i번쨰 위치의 평균점수 구하기 = 총점 / 과목수
// i번째 항생의 과목수는 grade 배열의 i번쨰에 대한 길이
avg = sum / grade[i].length;
System.out.println("총점 = " + sum + ", 평균 = " + avg);
}
}
}