본문 바로가기
IT/Java

배열

by 봉즙 2019. 6. 18.

배열 : 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것, 배열은 각 저장공간이 연속적으로 배치되어있다.

int[] score = new int [5];

 

배열의 선언 : 원하는 타입의 변수를 선언하고 배열임을 의미하는 [ ]를 붙이면된다.

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

 

배열의 생성 : 배열은 선언 하는 것은 생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어 지는 것이며 선언 후 배열을 생성해야 값을 저장하는 공간이 만들어진다.

타입 [] 변수이름; //배열의 선언(배열을 다루기 위한 참조변수 선언)
변수이름 = new 타입[길이]; // 배열을 생성(실제 저장공간을 생성)

 

배열의 인덱스 : 생성된 배열의 저장공간을 배열의 요소(element)라고 하며, 배열이름[인덱스]의 형식으로 배열의 요소에 접근, 인덱스는 배열의 요소마다 붙여진 일련번호로 각 요소를 구분하는데 사용한다.

index의 범위는 0 부터 배열길이 -1까지이다.

배열의 길이 : 배열을 생성할때, 괄호[ ]안에 배열의 길이를 적어줘야하는데, 배열의 길이는 배열의 요소의 개수, 즉, 값을 저장할 수 있는 공간의 갯수이다.

배열의 길이는 int범위의 양의정수(0도 포함)이어야 한다.

 

배열이름.length : 배열은 상수이기 때문에 생성시에 크기가 변경이 불가능 하며, 이를 통해 배열의 길이에 대한 정보를 얻을 수 있다.

 

배열의 길이 변경 방법 : 길이 변경은 비용이 많이 들기에 공간의 배분을 처음부터 넉넉하게 해주는 것이 좋다.

  1. 더 큰 배열을 새로 생성한 후
  2. 기존 배열의 내용을 새로운 배열에 복사한다.

 

배열의 초기화 :  배열은 생성과 동시에 자신의 타입에 해당하는 기본값으로 초기화 되므로, 따로 초기화 하지 않고 사용할 수 있으나 원하는 값을 저장하려면 각 요소마다 값을 지정해 주어야한다.

int [] score = new int[]{50,60,70,80,90};	//배열의 생성과 초기화를 동시에 진행

위의 경우 { }안의 쉼표가 구분자로 작동하며 괄호 안의 갯수가 배열의 길이가 되기에 추가적으로 설정하지 않아도되며, new type까지 생략이 가능하여 아래와 같이 나타낼 수 있다.

int score = {50,60,70,80,90};

 

배열의 출력 : System.out.print를 사용하지 않고 Arrays.toString(배열이름)메서드를 사용하여 배열을 출력 할 수 있다. Arrays.to.String은 '[첫번째요소, 두번째 요소...]' 으로 문자열을 만들어서 반환한다. 만약 배열의 이름을 출력하는 경우 배열의 주소 값이 출력되게 된다.

 

배열의 복사 : 반복문 이외에도 System.arraycopy()를 이용하여 복사하는 것이 효율적이다.

System.arraycopy(num, 0, newNum, 0, num.length);

※num[0]에서 newNum[0]으로 num.length개의 데이터를 복사

'IT > Java' 카테고리의 다른 글

다차원 배열  (0) 2019.06.18
String 배열  (0) 2019.06.18
반복문  (0) 2019.06.17
조건문  (0) 2019.06.17
연산자  (0) 2019.06.16

댓글