다차원 배열

Mia Lee·2021년 11월 15일
1

JAVA

목록 보기
35/98
package array_statement;

public class Ex2 {

	public static void main(String[] args) {

		/*
		 * 다차원 배열(2차원 배열)
		 * 
		 * < 2차원 배열 생성 기본 문법 >
		 * 데이터타입[][] 변수명 = new 데이터타입[행크기][열크기];
		 * 데이터타입 변수명[][];
		 * 데이터타입[] 변수명[];
		 * 
		 * < 2차원 배열 접근 기본 문법 >
		 * 변수명[행인덱스][열인덱스]
		 * 
		 * - 2차원 배열의 행크기 : 배열명.length
		 *   2차원 배열 특정 행의 열크기 : 배열명[행인덱스].length
		 *   
		 */
		
		// 2차원 배열 변수 score 선언
//		int[][] score;
//		int score[][];
//		int[] score[];
		
		// 2차원 배열 5행 3열 크기를 갖는 int형 배열 생성
//		score = new int[5][3];
		
		// 위의 두문장을 하나로 결합하여 배열 선언 및 생성을 동시에 수행
		int[][] score = new int[5][3];
		
		/*
		 * 다음과 같은 데이터를 초기화
		 * 				국어	영어	수학
		 * 1번 학생		80(0,0)	80		80 
		 * 2번 학생		90(1,0)	90		90	
		 * 3번 학생		100		80		60
		 * 4번 학생		100		100		100
		 * 5번 학생		77		80		90(4,2)
		 * 
		 */
		
		score[0][0] = 80; score[0][1] = 80; score[0][2] = 80; // 1번 학생
		score[1][0] = 90; score[1][1] = 90; score[1][2] = 90; // 2번 학생
		score[2][0] = 100; score[2][1] = 80; score[2][2] = 60; // 3번 학생
		score[3][0] = 100; score[3][1] = 100; score[3][2] = 100; // 4번 학생
		score[4][0] = 77; score[4][1] = 80; score[4][2] = 90; // 5번 학생
		
		// 행번호 0 ~ 4까지 반복
		for (int i = 0; i < 5; i++) {
			
			// 열번호 0 ~ 2까지 반복
			for (int j = 0; j < 3; j++) {
				System.out.print(score[i][j] + " ");
				
				
			}
			
			System.out.println(); // 줄 바꿈
			
		}
		
		System.out.println("==========================================");
		
		// 2차원 배열의 행크기 : 배열명.length
		// 2차원 배열의 특정 행의 열크기 : 배열명[행번호].length
		System.out.println("2차원 배열 score의 행크기 : " + score.length);
		System.out.println("score의 1번행 열크기 : " + score[1].length);
		System.out.println("score의 2번행 열크기 : " + score[2].length);
		
		// 2차원 배열의 모든 데이터를 출력하는 공식
		// => 바깥쪽 for문은 행 반복하는 반복문(배열명.length)
		// => 안쪽 for문은 행의 열을 반복하는 반복문(배열명[행번호].length)
		
		/*
		 * 출력결과 
		 * 
		 * 1번학생 : 80 80 80
		 * 2번학생 : 90 90 90
		 * 3번학생 : 100 80 60
		 * 4번학생 : 100 100 100
		 * 5번학생 : 77 80 90
		 *  
		 */
		for (int i = 0; i < score.length; i++) {
			System.out.print((i + 1) + "번학생 : ");
			
			for (int j = 0; j <score[i].length; j++) {
				System.out.print(score[i][j] + " ");
				
			}
			System.out.println();
			
		}
		
		
		
		
	}

}

0개의 댓글