▶2차 배열이란
-. 2차원 배열의 경우 블록 괄호 "{}" 를 2중으로 겹쳐서 2차원 배열을 표현한다
-. 행과 열의 구분에는 콤마(,)가 사용된다
-. 컴파일러가 블록괄호 "{}"의 요소를 파악하면 행, 열의 크기가 산출될 수 있으므로 배열의 크기 설정을 위한 [][]에는 배열의 크기를 명시하지 않는다.
▶선언과 할당 방법
-. 데이터형 [][] 배열이름 = new 데이터형 [][] {
{ 0행0열의 값, 0행1열의 값, ... ,0행N열의 값},
{ 0행0열의 값, 0행1열의 값, ... ,0행N열의 값},
...
{ N행0열의 값, N행1열의 값, ... ,N행N열의 값},
};
▶2차원 배열에 대한 값의 대입 방법
-. 행, 열에 대한 인덱스를 통하여 값을 대입한다.
배열이름[행][열] = 값;
-. 성적표를 통한 2차배열 예시
♧일반적인경우:
int [][] grade = new int [3][3];
grade[0][0] = 75; //둘리의 국어
grade[1][1] = 64; //도우너의 영어
grade[2][1] = 100; //또치의 영어
...
♧일괄지정하는경우:
Α) int [][] grade = new int [][]
{75,82,91} //둘리의 국어 영어 수학
{88,64,50} //도우너의 국어 영어 수학
{100,100,90} //또치의 국어 영어 수학
B) int [][] grade = new int [][]{
{75,82,91},{88,64,50},{100,100,90}
};
C) int [][] grade = new int [][] {75,82,91},{88,64,50},{100,100,90}
=> A/B/C 방법 모두 가능하나 가독성을 높히기 위해 A를 사용하는 것을 권고
▶2차원 배열의 길이
-. 행에 대한 측면과 열에 대한 측면을 나누어서 생각해야한다.
♧행의길이
1차 배열에서 길이를 나타냈던 수식은 2차 배열에서는 행의 크기로 조회가 된다.
ex) int rows = grade. length;
♧열의길이
열의 길이는 각 행에 대하여 개별적으로 조회해아한다
각 열마다 길이가 다를 수도 있다는 말인데 예를들어 또치가 수학시험을 안본다던지 도우너가 불참한다던지 하는 경우가 생길 수 있기에 각 행에 대해 열의 길이를 조회한다
ex) int cols = grade[행].length;
▶2차원 배열의 예시
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
public static void main(String[] args) {
//성적표에 대한 2차배열 생성
//학급 성적을 위한 배열
1_ int[][] grade = new int[3][3]; // grade는 2차배열의 변수
//둘리의 과목별 점수
2_ grade[0][0] = 75;
grade[0][1] = 82;
grade[0][2] = 91;
//도우너의 과목별 점수
grade[1][0] = 88;
grade[1][1] = 64;
grade[1][2] = 50;
// 또치의 과목별 점수
grade[2][0] = 100;
grade[2][1] = 100;
grade[2][2] = 90;
//2차배열을 탐색하여 총점과 평균점수 구하기
3_ for(int i = 0; i<grade.length; i++){
int sum = 0;
int avg = 0;
4_ for( int j = 0; j < grade.length; j++){
sum += grade[i][j];
}
//i번째 위치의 평균 점수 구하기 = 총점/ 과목수
//i번째 학생의 과목수는 grade배열의 i번째에 대한 길이
avg = sum / grade[i].length;
System.out.println("총점 = " + sum + ", 평균 = " + avg);
}
|
cs |
1_ 2차배열 데이터 선언
2_ 2차배열의 일반적은 경우 방법으로 각 행과 열의 값 대입
3_ 2차배열은 2중 for문을 주로 사용하는데 첫번째 for문은 행을 기점으로 반복하는것이다.
열이 모두 다 반복된 후에 다시 2번째 행으로 돌아가며 반복된 문안에서 선언된 변수( sum,avg) 는 매 실행시 새로 생성된다.
4_ i번째 행 j열째 열의 데이터를 누적 반복하라
'국비필기노트 > Java' 카테고리의 다른 글
자바(java)_클래스,객체,메서드,전역변수,지역변수 (0) | 2022.03.14 |
---|---|
자바(java)_메서드 (0) | 2022.03.11 |
java 반올림 : Math.round(), String.format(), Printf() (0) | 2022.03.08 |
Java 오류 (0) | 2022.03.04 |
JAVA 설치 방법 (0) | 2022.03.03 |