배열

강영·2022년 5월 3일
0

2차원 배열


  • 데이터 타입의 이름 뒤에 대괄호 "[]"를 행과 열에 대하여 각각 지정한다.

    	데이터형[][] 배열이름;
  • 2차원 배열의 크기 할당

    배열이름 = new 데이터형[행][열];
  • 2차원 배열의 선언과 할당의 일괄처리

    	데이터형[][] 배열이름 = new 데이터형[행][열];
  • 2차원 배열의 선언, 크기 할당, 값의 대입에 대한 일괄처리

    • 2차원 배열의 경우 블록 괄호 "{}"를 2중으로 겹쳐서
      2차원 배열을 표현한다.

    • 행과 열의 구분에는 콤마(,)가 사용된다.

      데이터형[][] 배열이름 = new 데이터형[][]{
      	{0행0열의 값, 0행1열의 값, ... ,0행n열의 값},
      	{1행0열의 값, 1행1열의 값, ... ,1행n열의 값},
      	...
      	{n행0열의 값, n행1열의 값, ... ,n행n열의 값}
      };
    • 2차원 배열에 대한 값의 대입 방법

      (1) 배열이름[행][열] = 값;

      int[][] grade = new int[3][3];
        grade[0][0] = 75;
        grade[0][1] = 82;
        grade[0][2] = 91;
        ....

      (2) 일괄지정하는 경우

      	int[][] grade = new int[][]{
      		{75, 82, 91},
      		{88, 64, 50},
      		{100, 100, 90}
      	};

  • 2차원 배열의 길이

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

public class Main01 {

	public static void main(String[] args) {
		// 성적표에 대한 2차 배열 생성.
		// 학급 성적을 위한 배열.
		int[][] grade = new int [][] {
			{75,82,91}, // 1열의 값 대입
			{88,64,91}, // 2열의 값 대입
			{100,100,90}// 3열의 값 대입
};
	
		
		// 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
3/3시작.

0개의 댓글