Java 배열에 대한 이해

박현우·2023년 12월 21일

1. 배열
1-1. 배열이란?

  • 변수를 그룹으로 묶은 형태의 한 종류로서, 사물함 같은 형태를 갖고 있다.
  • 하나의 배열 안에는 같은 종류(데이터 형)의 값들만 저장될 수 있다.

1-2. 배열을 만드는 방법

  • 배열의 선언
    데이터형[] 배열이름;

  • 배열의 생성- 변수를 저장할 수 있는 사물함을 생성
    배열이름 = new 데이터형[크기];

  • 배열의 생성의 예
    int[] grade;
    grade = new int[3]

  • 배열의 선언과 크기 지저에 대한 일괄처리
    데이터형[] 배열이름 = new 데이터형 [크기];
    int[] 배열이름 = new int[3]

1-3. 배열의 모양

  • 생성된 배열은 사물함과 같이 각각의 칸에 값들이 저장되고, 각각의 칸은 0부터 일련번호가 지정된다. (일련번호 = 배열의 인덱스)

1-4. 배열의 값을 저장하기

  • 배열은 값을 저장할 수 있는 공간일 뿐, 그 자체가 값은 아니다.

  • 값이 대입되지 않은 경우, 숫자형은 0, boolean형은 false가 자동으로 대입된다.

  • 배열 안에 값을 저장하기 위해서는 인덱스 번호를 사용하여 각각의 칸에 직접 값을 대입해야 한다.

    	배열이름[인덱스] = 값;
  • 둘리의 점수를 배열로 표현

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

  • 배열의 크기 설정과 값 할당에 대한 일괄처리
    ->배열의 크기를 지정하면 괄호"{...}" 안에 배열에 포함될 각 항목들은 콤마(,)로 나열하면, 배열의 생성과 값의 할당을 일괄처리할 수 있다. 이 때 배열의 크기를 결도로 지정하지 않으며, "new 데이터형[]" 부분은 생략

    	데이터형[] 배열이름 = new 데이터형[]{값1, 값2, ..., 값n};
    
    	데이터형[] 배열이름 = {값1, 값2, ..., 값n};

1-5. 배열값 사용하기

  • 배열 안에 저장되어있는 값들을 사용하여 연산이나 출력 등의 처리를 위해서는 배열에 부여된 인덱스 값을 통해서 데이터에 접근해야 한다.

    	System.out.printlm(grade[0]);
    	System.out.printlm(grade[1]);
    	System.out.printlm(grade[2]);

1-6. 배열과 반복문

  • 배열의 특성
    : 0~(배열 크기 -1)만큼의 인데스 값을 순차적으로 갖는다.

  • 특성을 활용한 배열이 데이터의 처리
    : 일정 범위를 갖고 순차적으로 증가하는 인덱스값의 특성을 활용하면 반복문 안에서 배열의 값을 할당하거나, 할당된 값을 읽어들이는 처리가 가능해진다.

    	for(int i = 0; i<3;i++){
    		System.out.println(grade[i])
    	}

1-7. 배열의 크기(길이)

  • 배열의 길이를 얻기 위해서는 "배열이름.lenth" 형식으로 접근한다.
    int size = grade.lenth;

2. 2차원 배열
2-1. 배열의 종류

  • 1차 배열
    -> 앞에서 살펴본 배열처럼 한 줄만 존재하는 사물함 같이 구성된 배열.
    -> 행에 대한 개념이 없고, 열에 대한 개념만 존재하기 때문에 "배열이름.length"는 몇 칸인지를 알아보는 기능이 된다.
  • 2차 배열
    -> 1차 배열의 각 칸에 새로운 배열을 넣는 형태
    -> 1차 배열의 각 칸은 행이 되고, 각각의 칸에 추가된 개별적인 배열이 "열"의 개념이 되어 "행렬"을 구성하게 된다.
  • 다차원 배열
    -> 배열의 각 칸에 지속적으로 다른 형태의 배열을 포함시키는 형태로서, 2차, 3차, 4차, n차까지 무제한으로 확장할 수 있다.
    -> 실무에서는 2차원 배열을 초과하는 형태는 사용하지 않는다.

2-2. 2차원 배열의 선언

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

  • 2차원 배열이의 크기 할당
    -> 행과 열에 대한 크기를 명시한다.

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

    	데이터형[][]배열이름= new 데이터형[행][열];
    
    	int[][] grade = new int[3][3]

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

  • 행, 열에 대한 인덱스를 통합하여 값을 대입한다.

    	배열이름[행][열] = 값;

6.4. 일괄지정하는 방법

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

2-5. 2차원 배열의 길이

  • 2차원 배열의 길이는 행에 대한 측면과 열에 대한 측면을 나누어서 생각해야 한다.

  • 행의 길이

      int rows = grade.length;
  • 열의 길이

    	int cols = grade[행].length;

0개의 댓글