본문 바로가기
학습/IT

[IT] Java기초(8) - 자바에서의 배열(Array) 사용법

by 개성공장 2021. 12. 7.
반응형

□ 배열(Array)

 - 변수, 제어문, 루프 등을 배웠습니다.

 - 여러개의 데이터를 다룬다면?  '배열'을 사용합니다.

 

 * 왜 배열을 사용하는가?

 - 배열은 메모리의 이해와 관계가 있습니다.

 - 배열은 여러 데이터를 같이 처리할 수 있는 방안을 제공합니다.

 - 여러 개의 데이터를 처리하는 연습에 집중합니다.

 

 * 배열은 왜 다르게 선언하는가?

 - 변수가 저장하는 대상이 다르기 때문입니다.

 - 참조(reference)라는 개념이 절대적으로 필요합니다.

 - 인접해서 만들어지기 때문에 초기에 메모리 크기 결정이 필요합니다.

 - 배열은 메모리 공간을 가리키는 포인터, 참조와 같은 개념을 사용합니다.

 

 * 배열의 선언

 - 크기 + 데이터

 - 크기만 선언하고 나중에 데이터를 할당  :  int[] arr1 = {1,2,3};   /   int[] arr2 = arr1;

 - 브레이스 { } 를 이용해서 배열을 표현합니다.

 

---

package array;

public class Array1 {

public static void main(String[] args) {

	int[] arr = {1, 2, 3};
	System.out.println(arr);
}
}

---

---

package array;

public class Array1 {

public static void main(String[] args) {

	int[] arr = new int[3];
	arr[0]=1;
	arr[1]=2;
	arr[2]=3;
	System.out.println(arr);
}
}

결과 : [1, 2, 3]

---

 

해물짬뽕

 

 - Arrays.toString(arr);

 : 이걸 쓰려면  import java.util.Arrays;  맨 앞에 선언해야 합니다.

 

 * 배열의 상세 접근방법

 - Index 번호가 필요

 - 0에서 시작하는 index 번호

 - Length를 이용해서 배열의 크기 파악

 

 * 배열의 단점

 - 크기가 고정되어 있음. 메모리 상에서 점프할 때, 크기를 변경할 수 없습니다.

 - 보관하는 데이터가 제한적입니다.

 

 * 다차원 배열

 - 배열의 요소에 다시 배열의 구조를 넣는 것

 

---

int[] arr1 = {1, 2, 3};
int[] arr2 = {4, 5, 6};
int[] arr3 = {7, 8, 9};

int[][] outer = {arr1, arr2, arr3};

outer[0][1] = 100;

System.out.println(outer[1]==arr2);
System.out.println(Arrays.toString(arr1));

 결과 : true, [1, 100, 3] 출력

---

 

 * 정리

 - 배열은 동일한 타입의 여러 데이터 처리에 적합합니다.

 - 루프와 함께 공부하는 것이 좋습니다.

 - 배열은 반드시 참조의 개념과 같이 학습합니다.

 

---

int[] arr = new int[10];

for(int i = 0; i < arr.length; i++) {
	arr[i] = i+1;
}
System.out.println(Arrays.toString(arr));

결과 : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

---

 

 - 브레이킹 포인트 지정, 디버깅 모드

 - 디버깅 모드에서는 루프의 진행과정을 한단계씩 확인할 수 있음

반응형

댓글