□ 배열(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]
---
- 브레이킹 포인트 지정, 디버깅 모드
- 디버깅 모드에서는 루프의 진행과정을 한단계씩 확인할 수 있음
'학습 > IT' 카테고리의 다른 글
[IT] Java기초(10) - 자바에서 배열(Array) 실습하기, 배열 관련 API (0) | 2021.12.23 |
---|---|
[IT] Java기초(9) - 자바에서 배열(Array) 실습하기 (0) | 2021.12.22 |
[IT] Java기초(7) - 함수(Function), 계산기 예제 코딩해보기 (0) | 2021.12.02 |
[IT] Java기초(6) - 함수(Function), 주사위 함수 정의하기 (0) | 2021.11.23 |
[IT] Java기초(5) - 연산자 제어문, 반복문 실습 (0) | 2021.11.19 |
댓글