CoDream

[JAVA] 배열, 2차원 배열, 인덱스, ARR변수 본문

JAVA/JAVA 이론

[JAVA] 배열, 2차원 배열, 인덱스, ARR변수

코잠 2024. 2. 17. 09:19
728x90
반응형

배열

타입이 같은 변수 여러 개 만들기 위해 사용.

길이가 5인 정수형 배열을 생성합니다. 배열의 이름은 **x**이며, 배열의 각 요소는 초기값으로 0을 갖습니다. 이 배열은 다음과 같이 선언되고 초기화됩니다.

int[] x = new int[5];

여기서 **int[5]**는 배열의 길이가 5라는 것을 나타내며, **new int[5]**는 길이가 5인 새로운 정수 배열을 생성하는 데 사용됩니다.

따라서 **x**는 길이가 5인 정수형 배열이며, 인덱스 0부터 4까지의 요소를 갖습니다. 이 배열을 사용하여 다양한 작업을 수행할 수 있습니다. 예를 들어, 각 요소에 값을 할당하고 출력하는 코드는 다음과 같을 수 있습니다.

int[] x = new int[5];
x[0] = 10;
x[1] = 20;
x[2] = 30;
x[3] = 40;
x[4] = 50;

배열의 크기를 지정해야 하는 이유는 배열이 메모리 상에서 연속된 공간에 할당되기 때문입니다. 배열은 연속된 메모리 공간에 요소들을 순차적으로 저장하는 자료구조이며, 따라서 배열의 크기를 지정해야 메모리를 할당할 수 있습니다.

배열을 선언할 때 크기를 지정하지 않으면, 컴파일러가 해당 배열을 어느 정도의 메모리 공간에 할당해야 할지 알 수 없기 때문에 오류가 발생합니다. 배열의 크기를 지정함으로써 컴파일러는 배열이 필요한 메모리 공간을 사전에 할당하고 준비할 수 있습니다.

또한 배열의 크기를 지정함으로써 프로그래머가 배열에 접근할 수 있는 범위를 명확하게 지정할 수 있습니다. 배열의 인덱스는 0부터 시작하므로, 배열의 크기를 지정함으로써 배열의 마지막 요소에 접근하는 데 사용할 수 있는 인덱스를 알 수 있습니다.

배열의 크기를 지정함으로써 메모리 사용을 최적화할 수도 있습니다. 필요한 만큼의 메모리만 할당하여 불필요한 메모리 사용을 방지할 수 있습니다.

따라서 배열의 크기를 지정함으로써 메모리 할당, 접근 범위의 명확성, 메모리 사용의 최적화 등 다양한 이점을 얻을 수 있습니다.

    // 배열 생성 타입[] 변수명 = 배열 덩어리;
		int[] a = new int[3];
		
		// 배열의 특정 칸에 접근(값 넣기)
		// 칸번호 사용
		//0번 부터 시작 주의하기
		//범위 주의
		a[1] = 10;

		// 배열의 특정 칸에 접근(값 꺼내기)
		int result = a[1];
		System.out.println(a[1]);

Arr변수

int[] arr = new int[5];

여기서 "arr"은 정수형 배열을 가리키는 변수로, 길이가 5인 배열을 생성합니다. 이 변수를 통해 배열의 각 요소에 접근하거나 배열의 크기 등을 조작할 수 있습니다.

 


2차원 배열

배열의 배열을 의미합니다. 즉, 각 요소가 배열인 배열입니다. 이를 통해 행(row)과 열(column)로 구성된 표나 행렬과 같은 구조를 표현할 수 있습니다.

다음은 Java에서 2차원 배열을 선언하고 초기화하는 방법입니다:

// 2행 3열의 2차원 배열 선언
int[][] array = new int[2][3];

// 2차원 배열 초기화
array[0][0] = 1;
array[0][1] = 2;
array[0][2] = 3;
array[1][0] = 4;
array[1][1] = 5;
array[1][2] = 6;

// 또는 배열을 선언과 동시에 초기화
int[][] array2 = { {1, 2, 3}, {4, 5, 6} };

위의 예제에서 **array**는 2행 3열의 2차원 배열을 선언하고 초기화한 것입니다. 각 요소에 접근하기 위해서는 행과 열의 인덱스를 사용합니다. 예를 들어, **array[0][0]**은 첫 번째 행의 첫 번째 열을 나타냅니다.

2차원 배열은 데이터를 행렬 형태로 구조화할 때 유용하며, 행과 열의 개수가 동적으로 변하지 않는 경우에 사용됩니다. 다차원 배열은 3차원, 4차원 등으로 확장될 수 있으며, 다차원 데이터를 표현하는 데에 사용됩니다.

int[] arr01 = new int[3];
int[] arr02 = new int[5];
int[] arr03 = new int[2];

int[][] x = new int[3][]; 
x[0] = arr01;
x[1] = arr02;
x[2] = arr03;

이렇게 하면 **x[0]**이 **arr01**을, **x[1]**이 **arr02**를, **x[2]**가 **arr03**을 참조하게 됩니다.

x: [ ]  [ ]  [ ]
    |    |    |
    V    V    V
 arr01 arr02 arr03

이제 **x**는 3개의 배열을 가지고 있으며,

각 배열은 서로 다른 크기를 가진 arr01, arr02, **arr03**을 참조합니다.

728x90
반응형