Array (배열)
- 동일한 타입의 데이터 여러개를 하나의 연속된 메모리 공간에서 관리하는 것
- 크기 변경 불가
- 개별 요소 삭제 불가
<배열 선언 방법>
1) int[] arr; ← 이 방식 사용하기. 2와 같은 방법 사용시, 변수명이 길어지면 이 변수가 배열이구나를 알기 힘들기 때문.
2) int arr[];
int[] a = new int[5]; : a라는 변수에 크기가 5인 배열 할당. 배열에는 int type의 자료 5개를 저장할 수 있다.
· primitive(기본형) : Type 마다 초기화가 자동으로 된다. default 초기화.
자료형 | 기본값 | 비고 |
byte, short, int | 0 | |
long | 0L | |
float | 0.0f | |
double | 0.0 | |
char | '\u0000' | 공백문자 |
boolean | False | |
참조형 변수 | null | 아무것도 참조하지 않음 |
· 주소로 접근하는 것은 어렵기 때문에 index로 쉽게 접근 가능.
- index 0의 주소 값을 먼저 찾고 index 1로 접근하기 때문에 index는 0부터 시작한다.
String str = "안녕하세요" ;
str.toCharArray(); -> String → char[]
Array.toString(str); 배열에 존재하는 값 출력 가능
Type
- 변수에 저장되는 데이터의 종류. 기본형, 참조형이 있다.
· primitive(기본형) : 초기값이 이미 정해져있음. Stack 영역에 저장.미리 정해진 크기의 memory size로 표현한다.
· reference(참조형) : 기본값은 null. Heap 영역에 저장.미리 정해질 수 없는 데이터의 표현으로 변수에는 실제 값을 참조할 수 있는 주소만 저장한다.
- new라는 키워드가 붙으면 참조형
형을 잘 알아야 error 줄일 수 있음
· 중괄호를 이용한 할당은 선언과 동시에만 가능하다.
ex)
int[] b = {1,2,3,4,5};
int[] c = new int[] {2,4,6};
· Array 객체의 length 속성으로 길이를 나타낼 수 있다.
ex) System.out.println(a.length);
· 배열복사
System.arraycopy(원본배열, 복사시작 index, 사본배열, 사본배열 붙여넣기 시작 index, 복사할 크기);
int[] arr1 = { 1, 2, 3, 4, 5};
int[] arr2 = { 0, 0, 0, 0, 0};
System.arraycopy(arr1, 1, arr2, 2, 3);
arr2는 [ 0, 0, 2, 3, 4 ] 가 된다.
2차원 배열
int [][] intArr = new int[4][3];
intArr의 길이 : 4
intArr[]의 크기 : 3
int [][] intArray = {{0,1,2},{0,1,2},{0,1,2},{0,1,2}}; // { } 이용하여 선언과 동시에 값 할당 가능
int [][] intArr2 = new int[5][]; // 1차 Array 생성 후, 필요에 따라 2차 배열 생성 가능
intArr2[1] = new int[3];
'JAVA' 카테고리의 다른 글
[JAVA] HashMap 기본 및 정렬 (0) | 2023.01.19 |
---|---|
[Java] BigInteger(큰 정수) (0) | 2023.01.18 |
[JAVA] 객체지향(3) (0) | 2022.01.30 |
[JAVA] 객체지향 (2) (0) | 2022.01.24 |
[JAVA] 객체 지향 (1) (0) | 2022.01.23 |