2차원 배열
배열 안에 배열이 있는 형태
2차원 배열 선언
int[][] arrData = {
{10,20,30},
{40,50,60}
};
- String [][] arData = new String[1][5];
2차원 배열의 길이
2차원배열명.length : 행의 개수
2차원배열명[행번호].length : 행에 만들어져 있는 소배열의 길이
2중 for문(nested for문)
for문 안에 for문이 있는 형태
바깥쪽에 있는 i for문은 다음 반복으로 넘어가기 위해서
안쪽에 있는 수행할 문장들을 한번씩 다 마쳐야 한다.
안에 있는 수행할 문장중에 j for문이 있으므로, 그 j for문이
완벽히 모두 완료되어야 i for문 입장에서는 반복시 수행할 문장을
마친것이 되고, 그 이후에야 다음 반복으로 넘어갈 수 있게된다.
따라서 가장 안쪽에 있는 문장은 (i for문 반복횟수)*(j for문 반복횟수)
만큼 수행된다.
i j
0 0 1 2
1 0 1 2
for (int i = 0; i < arrData.length; i++) {
for (int j = 0; j < arrData[i].length; j++) {
System.out.println(arrData[i][j]);
}
}
실습 예제
String[] subject = {"국어","영어","수학"};
int[] score = new int[subject.length];
for (int i = 0; i < score.length; i++) {
System.out.print(subject[i]+"점수 : ");
score[i] = sc.nextInt();
}
int tot = 0;
double avg = 0.0;
for (int i = 0; i < score.length; i++) {
tot += score[i];
}
avg = tot/(double)score.length;
System.out.println("총점 : "+tot);
System.out.printf("평균 : %.1f\n",avg);
실행 결과