Back-End/JAVA

[Java] 2차원 배열[ ] [ ], 2중 for문

챌링킴 2021. 5. 20. 21:22
반응형

1) 이차원 배열(다차원배열)

배열 안에 배열

   {10,20,30}

   {40,50,60}

 

2) 이차열 배열 선언

1. 자료형[ ] 배열명 ={

                {값1, 값2, ...},

                {값3, 값4, ...},

                ...

};

int[ ][ ] arrData = {

                {10,20,30},

                {40,50,60}

};

2. 자료형[ ][ ] 배열명 = new 자료형[행수][열수];

int[ ][ ] arrData = new int[2][3]; // 2행 3열의 배열생성

 

3) 2중 for문(nested for문)

1. for문 안에 for문이 있는 형태

   바깥쪽에 있는 i for문은 다음 반복으로 넘어가기 위해서 안쪽에 있는 모든 수행할 문장들을 마쳐야한다.

   안에 있는 수행할 문장 중에 j for문이 있으므로, 그 j for문이 완전히 종료되어야 i for문 입장에서는

   내부의 수행할 문장을 마친 것이 된다.

   따라서 가장 안쪽에 있는 문장은 (i for문 반복횟수)*(j for문 반복횟수) 만큼 수행된다.

 

4) 실행예제1

public class ArrTest {
	public static void main(String[] args) {
		int[][] arrData1 = { { 10, 20, 30 }, { 40, 50, 60 } };
		for (int i = 0; i < arrData1.length; i++) {
			for (int j = 0; j < arrData1[i].length; j++) {
				System.out.println(arrData1[i][j]);
			}
		}
	}
}

5) 실행예제2

public class ArrTest {
	public static void main(String[] args) {
		int[][] arrData2 = new int[2][3];
//		arrData2[0][0] = 10;
//		arrData2[0][1] = 20;
//		arrData2[0][2] = 30;
//		arrData2[1][0] = 40;
//		arrData2[1][1] = 50;
//		arrData2[1][2] = 60;
		for (int i = 0; i < arrData2.length; i++) {
			for (int j = 0; j < arrData2[i].length; j++) {
				arrData2[i][j] = i * 30 + j * 10 + 10;
			}
		}
		for (int i = 0; i < arrData2.length; i++) {
			for (int j = 0; j < arrData2[i].length; j++) {
				System.out.println(arrData2[i][j]);
			}
		}
	}
}

반응형

'Back-End > JAVA' 카테고리의 다른 글

[Java] Storage Class(저장 기억 부류), 클래스, 생성자  (0) 2021.05.24
[Java] 메소드(method)  (0) 2021.05.21
[Java] 배열(array,[ ])  (0) 2021.05.18
[Java] 기타연산자(break, continue)  (0) 2021.05.17
[Java] 반복문(for)  (0) 2021.05.17