본문 바로가기

Programming Language/JAVA

[JAVA] java 다차원배열

 

● 다차원배열 정의
: 2차원 이상의 배열을 의미한다.

 

 


 쓰임
예 > type 배열명[][] = new type[][];
        type [][]배열명 = new type[][];

 

 

 

public class Test {

	public static void main(String[] args) {
		int[][] arr = new int[][] { { 10, 20, 30 }, 
			                    { 40, 50, 60 }, 
			                    { 70, 80, 90 } };
		System.out.println("arr[0][0] : " + arr[0][0]);
		System.out.println("arr[0][1] : " + arr[0][1]);
		System.out.println("arr[0][2] : " + arr[0][2]);
		System.out.println("arr[1][0] : " + arr[1][0]);
		System.out.println("arr[1][1] : " + arr[1][1]);
     }
} 

* 다차원배열 설명

다차원 배열을 int데이터타입으로 선언하고 arr라는 배열명으로 만들어줍니다.
배열안에는 위와같이 다차원식으로 (0,0)에는 10 (0,1)에는 20 ....등등 이렇게 들어가게 만들었습니다.
쉽게 행렬로 생각하시면 쉬울거라고 생각합니다.
위 코드를 for문을 이용해서 출력하는 연습을 해보세요.
아래소스 정답이있습니다.

 

 

 

 

 

public class Test {

	public static void main(String[] args) {
		int[][] arr = new int[][] { { 10, 20, 30 }, { 40, 50, 60 }, { 70, 80, 90 } };

		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < arr[i].length; j++) {
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
		}

	}
}

위와 같은 내용이지만, 출력을 따로따로 해주지않고 for문을 사용해서
차례대로 출력을해줍니다.
println과 print를 조합을 잘해서 출력하면 행렬형식으로 출력됩니다.
print에 대한 이스케이프문자가 이해가 안될경우,
https://choseongho93.tistory.com/15 참고

 

 

 

 

import java.util.Scanner;

public class Test {

		public static void main(String[] args) {
			Scanner sc = new Scanner(System.in);
			int num=0;
			int arr[][] = new int[2][3];
			
			for(int i=0;i<arr.length;i++) {
				for(int j=0;j<arr[i].length;j++) {
					System.out.print(i+":"+j+"번째 입력 : ");
					arr[i][j] = sc.nextInt();
				}
			}
			System.out.println("입력 받은 값 출력");
			for(int i=0;i<arr.length;i++) {
				for(int j=0;j<arr[i].length;j++) {
					System.out.print(arr[i][j]+" ");
				}
				System.out.println();
			}
		}
	}

 

다차원배열과 Scanner를 사용해서 만든 배열입니다.
첫번쨰 문단의 for문을 사용해서 사용자가 입력한 순서대로 다차원식으로 배열에 저장이되고, 
두번째 문단의 for문을 사용해서 다차원배열로 저장된 모든 값을 하나씩 출력해주는 소스입니다.
아래와 같이 출력됩니다.