Java 04. 배열 - swkim0128/PARA GitHub Wiki


type: Java archive: false

배열(array)이란?


같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 '배열(array)'

int[] score = new int[5];

배열의 선언


타입[] 변수이름;
타입 변수이름[];

가능하면 대괄호[]를 타입의 뒤에 붙이도록 하자.

배열의 생성


배열을 선언하는 것은 단지 생성된 배열을 다루기 위한 참조 변수를 위한 공간이 만들어질 뿐이다. 배열을 생성해야만 비로소 데이터를 저장할 수 있는 공간이 만들어지는 것.

int[] score; // 배열을 선언한다.(생성된 배열을 다루는데 사용될 참조변수 선언)
score = new int[5]; // 배열을 생성한다.(5개의 int값을 저장할 수 있는 공간 생성)

배열도 객체이기 때문에 멤버변수와 메서드를 갖고 있다.

배열의 초기화


배열은 생성과 동시에 자동적으로 자신의 타입에 해당하는 기본값으로 초기화되므로 배열을 사용하기 전에 초기화를 해주지 않아도 되지만, 원하는 값으로 초기화하기 위해서는 각 요소에 직접 값을 저장하면 된다.

int[] score = {100, 90, 80, 70, 60};
int[] socre = new int[] {100, 90, 80, 70, 60};

String[] name = { new String("Kim"), new String("Park"), new String("yi")};
String[] name = { "Kim", "Park", "Yi"};
String[] name = new String[] { new String("Kim"), new String("Park"), new String("yi")};

int[] score;
score = {fei...} // 에러!!

int[] score;
score = new int[] {...}

다차원 배열


자바에서는 1차원 배열뿐만 아니라 2차원 이상의 다차원 배열도 허용. 특별한 경우를 제외하고는 2차원 이상의 배열은 잘 사용되지 않는다.

타입[][] 변수이름;
타입 변수이름[][];
타입[] 변수이름[];

가변 배열


2차원 배열을 생성하면 직사각형 테이블 형태의 고정적인 배열만 생성할 수 있지만, 각 행마다 다른 크기의 배열을 생성하는 것이 가능하다.

int[][] score = new int[5][];
score[0] = new int[4];
score[1] = new int[3];
score[2] = new int[2];
score[3] = new int[2];
score[4] = new int[3];

배열의 복사


배열은 한번 생성하면 그 크기를 변경할 수 없기 때문에 더 많은 저장공간이 필요하다면 보다 큰 배열을 새로 만들고 이전 배열로부터 내용을 복사해야한다.

배열 간의 내용을 복사하려면 for 문을 사용하거나 System클래스의 arraycopy()을 사용하면 된다.

System.arraycopy(arr1, 0, arrr2, 0, arr1.length);
arr1[0]에서 arr2[0]으로 arr1.length개의 데이터를 복사

⚠️ **GitHub.com Fallback** ⚠️