Programming Language/Java

[JAVA] 배열 Array

BS Kwak 2020. 10. 9. 02:32

배열(Array)

- 인덱스와 인덱스에 대응하는 데이터들로 이루어진 자료구조로, 배열을 이용하면 한번에 많은 메모리 공간 할당이 가능

- 반복문을 이용하여 처리하기 용이하고 index는 0부터 시작

- 자바에서 '객체'로 관리

 

배열에 대한 레퍼런스 변수 arr 선언

int arr[];

arr라는 int형(정수형) 배열을 참조하기 위한 공간 생성

 

배열 객체 생성 : n개짜리 정수형 배열의 공간이 할당됨 

(1) 값 목록으로 배열 생성

int arr[]={1,3,5,7,9};
String[] names = {"KBS", "SBS", "MBC"};

 

(2) new 연산자로 배열 생성

int arr[] = new int[n];
//type 변수[] = new type [number]

 

 

값의 목록을 가지고 있지 않지만, 나중에 값들을 저장할 수 있도록 배열을 만들고 싶을 때 new 연산자로 배열 객체 생성

new연산자로 배열을 처음 생성할 경우, 배열은 자동적으로 기본값으로 초기화 됨

- int형 배열의 경우 0으로 초기화

-String 배열의 경우, null값으로 초기화

 

NullPointerException

배열 변수가 null값을 가진 상태에서 배열[index]로 값을 읽거나 저장하게 되면 "NullPointerException" error가 발생함

-> 배열 변수는 배열을 생성하고 참조하는 상태에서 값을 저장하거나 읽어야 함

 

배열 길이 : 배열에 저장할 수 있는 전체 항목 수 

- length 필드

배열변수.length;

length 필드는 읽기전용 필드이기 때문에 값을 바꿀 수 없음

 length필드는 배열 객체 안에 포함되어있음 (아래 사진 참고) 

 

 

배열 복사

bskwak.tistory.com/166

 

[JAVA] 배열 복사 ( System.arraycopy() 메소드 )

배열 복사 1. for문 사용 int[] oldArr = {1,2,3} int[] newArr = new int[5]; for(int i=0;i 위의 경우, 1,2,3은 그대로 복사하고 4번째 5번째 항목의 경우 int형 배열의 초기값인 0이 된다. 2. System.arraycopy..

bskwak.tistory.com