2차 배열

조혜진·2022년 5월 3일
0

java 이론

목록 보기
4/10

📌 2차 배열이란 ?

  • 1차 배열의 각 칸에 새로운 배열을 넣는 형태
  • 1차 배열의 각 칸은 행이 되고, 각각의 칸에 추가된 개별적인 배열이
    "열"의 개념이 되어 "행렬"을 구성하게 된다.

📌 2차 배열의 크기 할당

  • 행과 열에 대한 크기를 명시한다
    -> 배열이름 = new 데이터형[행][열];
  • 2차원 배열의 선언과 할당의 일괄처리
    -> 데이터형[][] 배열이름 = new 데이터형[행][열];

📌 2차원 배열의 선언, 크기 할당, 값의 대입에 대한 일괄처리

  • 2차원 배열의 경우 블록 괄호 "{}"를 2중으로 겹쳐서
    2차원 배열을 표현한다.
  • 행과 열의 구분에는 콤마(,)가 사용된다.
  • 컴파일러가 블록괄호 "{}"의 요소를 파악하면 행, 열의 크기가 산출될 수 있으므로 배열의 크기 설정을 위한 [][]에는 배열의 크기를 명시하지 않는다.

📌 2차원 배열에 대한 값의 대입 방법

  • 행, 열에 대한 인덱스를 통하여 값을 대입한다.
  • 일괄지정 하는 경우

📌 2차원 배열의 길이

  • 2차원 배열의 길이는 행에 대한 측면과 열에 대한 측면을 나누어서 생각해야 한다.
  • 행의 길이
    -> 1차 배열의 길이는 2차 배열에서는 행의 크기로 조회가 된다.
    ex ) int rows = grade.length;
  • 열의 길이
    -> 열의 길이는 각 행에 대하여 개별적으로 조회해야 한다.
    ex ) int cols = grade[행].length;

📌 2차 배열의 예시 문제

package array;

public class Main01 {

	public static void main(String[] args) {
		// 성적표에 대한 2차 배열 생성
		// 학급 성적을 위한 배열
		int[][] grade = new int[3][3];
		
		// 둘리의 과목별 점수
		grade[0][0] = 75;
		grade[0][1] = 82;
		grade[0][2] = 91;
		
		// 도우너의 과목별 점수
		grade[1][0] = 88;
		grade[1][1] = 64;
		grade[1][2] = 50;
		
		// 또치의 과목별 점수
		grade[2][0] = 100;
		grade[2][1] = 100;
		grade[2][2] = 90;
		
		// 2차 배열을 탐색하여 총점과 평균점수 구하기
		for(int i = 0; i < grade.length; i++) { // 행
			// 반복문 안에서 선언된 변수는 매 실행시마다 새로 생성된다
			int sum = 0;
			int avg = 0;
			
			for(int j = 0; j < grade[i].length; j++) { // 열
				// i번째 행의 j번째 열의 데이터를 누적처리
				sum += grade[i][j];
			}
			
			// i번째 위치의 평균점수 구하기 = 총점 / 과목수
			// i번째 학생의 과목수는 grade 배열의 i번째에 대한 길이
			avg = sum / grade[i].length;
			
			System.out.println("총점 = " + sum + ", 평균 = " + avg);
		}
		
	}

}
profile
안녕하세요

0개의 댓글

관련 채용 정보