가변배열

Mia Lee·2021년 11월 29일
0

JAVA

목록 보기
53/98
package ex_Array;

public class Ex1 {

	public static void main(String[] args) {

		/*
		 * 가변 배열(dynamic array)
		 * 
		 * - 다차원 배열에서 마지막 차수의 크기를 지정하지 않고 각각 다르게 지정
		 * - 2차원 배열을 생성할 때 열의 길이를 명시하지 않음으로써, 행마다 다른 길이의 배열 요소를 저장
		 */
		
		// 2차원 배열 3행 크기의 가변 배열 생성
		int[][] arr = new int[3][];
		
		arr[0] = new int[2]; // 1행에 2열의 크기 생성
		
		// 2행에 4열 크기 / 3행에는 1열의 크기 생성
		arr[1] = new int[4];
		arr[2] = new int[1];
		
		// 행의 인덱스 0 ~ 행 크기 - 1 만큼 반복
		for (int i = 0; i < arr.length; i++) {
			// i행의 열 크기 출력
			System.out.println("arr 배열의 " + (i + 1) + " 행의 크기 : " + arr[i].length);
			
		}
		
		// 가변 배열을 선언과 동시에 초기화 블록으로 초기화
		int[][] arr2 = {
				{10, 20}, // 1행의 데이터
				{10, 20, 30, 40}, // 2행의 데이터
				{10} // 3행의 데이터
		};
		
		// 반복문을 이용해서 arr2의 데이터를 모두 출력
		/*
		 * 출력결과
		 * arr2[0][0] = 10	arr2[0][1] = 20
		 * arr2[1][0] = 10  arr2[1][1] = 20 ....
		 * ...
		 * 
		 */
		
		// 행크기 만큼 반복
		for (int i = 0; i < arr2.length; i++) {
			
			// 열 크기 만큼 반복
			for (int j = 0; j < arr2[i].length; j++) {
				
				System.out.printf(" arr2[%d][%d] = %d", i, j, arr2[i][j]);
				
			}
			
			System.out.println(); // 줄바꿈
			
		}
		
		
		
	}

}











0개의 댓글