자바

JAVA 자바 다차원 배열 - 자바 2차원 배열

알통몬_ 2017. 3. 12. 18:54
반응형


안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^

 

2차원 배열은 수학의 행렬을 생각하시면 됩니다.

    열

행       0        1       2

     0   (0,0)   (0,1)    (0,2)

     1   (1,0)   (1,1)    (1,2)


2차원 배열로 위 행열을 표현하려면

int[][] scores = new int[2][3]; 처럼 사용합니다.

위 코드는 3개의 배열 객체를 생성합니다.

배열 A. 행의 길이 :2

배열 B. 0행의 열 길이 :3

배열 C. 1행의 열 길이 :3


scores.length // 2(배열 A의 길이)

scores[0].length //3(배열 B의 길이)

scores[1].length //3(배열 C의 길이)


다차원 배열은 일차원 배열이 서로 연결된 구조  => 계단식 구조를 가질 수 있음.

ex) int[][] scores = new int[2][];

    scores[0] = new int[2];   0,1

    scores[1] = new int[3];   0,1,2

배열 A. 행의 길이 :2

배열 B. 0행의 열 길이 :2

배열 C. 1행의 열 길이 :3

주의할 점 : 정확한 배열의 길이를 알고 인덱스를 사용해야 함.


ex)

 int[][] scores = { {1,2} , {3,4} };

int score = scores[0][0]; // 1

int score = scores[1][1]; // 4


배열 속의 배열 예제)

public class Example {

public static void main(String[] args) {

int[][] mathScores = new int[2][3];

for(int i=0; i<mathScores.length; i++) {

for(int k=0; k<mathScores[i].length; k++) {

System.out.println("mathScores["+i+"]["+k+"]="

+mathScores[i][k]);

}

}

System.out.println();

int[][] englishScores = new int[2][];

englishScores[0] = new int[2];

englishScores[1] = new int[3];

for(int i=0; i<englishScores.length; i++) {

for(int k=0; k<englishScores[i].length; k++) {

System.out.println("englishScores["+i+"]["+k+"]=" + englishScores[i][k]);

}

}

System.out.println();

int[][] javaScores = { {95, 80}, {92, 96, 80} };

for(int i=0; i<javaScores.length; i++) {

for(int k=0; k<javaScores[i].length; k++) {

System.out.println("javaScores["+i+"]["+k+"]="

+javaScores[i][k]);

}

}

}

 

반응형