티스토리 뷰
배열 Array
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것.
많은 양의 데이터를 다룰 때 유용하다.
배열의 각 요소는 서로 연속적이다.
- 변수 : 하나의 값을 저장하는 공간.
- 배열 : 둘 이상의 값을 저장하는 공간.
1. 표기 방법
1) 자료형[] 배열명 = {};
2) 자료형 배열명 [] = {};
2. 배열 선언
자료형 배열명 [] = new 자료형[];
3. 배열의 초기화
1) int arr[] = new int [2];
- 메모리에 배열의 크기가 2인 int형 배열 공간 할당.
2) int[] arr = {1, 2}
- 메모리에 값이 들어있는 int형 배열 공간 할당.
- 0번째 인덱스에는 1, 1번째 인덱스에는 2가 들어있다.
※주의사항
- 하나의 배열에는 하나의 자료형만 사용 가능하다.
- 배열을 선언할 때는 반드시 new를 사용한다.
- 배열은 할당한 크기(length)를 넘으면 안된다.
=> int arr[] = new int[2] {1,2,3} => 에러 (공간을 할당하고, 또 추가로 할당하기 때문.)
4. 배열의 크기
배열이름.length;
int[] arr = new int[3];
System.out.println(arr.length);
//출력결과 => 3
2차원 배열
종과 횡으로 2차원 배열을 생성한다.
1. 표기 & 선언방법
자료형[][] 변수명 = new 자료형[크기1][크기2];
=> (크기1 * 크기2) 개의 메모리 공간이 생긴다.
int[][] arr = new int[4][4];
// 4*4 => 총 16개의 메모리 공간 할당
2. 가변 배열
4개의 메모리공간은 미리 만들고, 나머지는 추가로 설정할 수 있다.
자료형 [] [] 변수명 = new int[크기1][ ];
int[][] arr = new int[4][]
//1차원 4개만 만들고 2차원 배열의 크기는 나중에 지정
배열의 복사
Q. 다음 arr1 의 값을 arr2에 복사하고 싶으면?
int[] arr1 = {1,2,3};
int[] arr2 = new int [3];
// 방법 1.
arr2 = arr1; // 복사가 아니라 메모리 주소만 같아진다.
// arr2의 값을 바꾸면 arr1의 값도 바뀐다.
// 방법 2.
for(i=0; i<arr1.length; i++){ // for문을 이용하여 하나하나의 값을 모두 바꿔준다.
arr2[i] = arr1[i]
}
// 방법 3.
// 메소드를 이용하여 복사
System.arraycopy(arr1, 0, arr2, 0, arr1.length); // arr1[0]에서 arr2[0]로 arr1의 length만큼의 데이터를 복사.
new
자바는 동적메모리(힙 메모리)를 사용.
변수를 선언하면 힙 메모리에 쌓인다.
new는 배열을 선언할 때는 힙 메모리에 저장한 변수를 사용하라고 선언하는 것.
=> new를 쓰는 것들은 전부 '참조형 변수'.
※ 참조형 변수 => 주소
※ 참조형 변수는 99%가 '클래스'
※ 클래스는 .(점) 연산자를 통해서 접속한다. (ex: Scan.nextInt => Scanner 클래스 안의 nextInt에 접속)
'Programming > Java' 카테고리의 다른 글
| [Java] 메모리_Stack / Heap (0) | 2020.05.28 |
|---|---|
| [Java] 메소드 Method (0) | 2020.05.28 |
| [Java] 반복문 for / while (0) | 2020.05.28 |
| [Java] 조건문 if / switch (0) | 2020.05.28 |
| [Java] 연산자 (0) | 2020.05.28 |
- Total
- Today
- Yesterday
- 작품
- 캘리엽서
- Database
- 캘리그라피배우기
- SQL
- Altibase
- 캘리그라피의뢰
- 캘리그라피로고
- 스프링부트
- 다중insert
- 켈리그라피
- OracleSQL
- 캘리그라피
- springboot
- 캘리
- 스프링
- calligraphy
- Spring
- postgres
- 캘리작품
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |