배열은 같은 타입의 변수를 여러개 모아놓은 데이터 타입이다.

일일히 변수를 선언하는 비효율적인 일을 방지하기 위해 배열이라는 데이터타입을 이용한다.

int[] numbers;

 

배열은 자료형 뒤에 [] 를 붙여 선언할 수 있다.

이 상태는 변수 선언만 했을 뿐 메모리를 할당받지 않은 상태이다.

선언된 배열에 new 키워드를 이용하여 메모리를 할당 해주고 대돨호 안에 배열의 크기를 명시하여 사용한다.

int[] numbers = new int[5];

//초기화 코드가 없으므로 해당 타입인 int의 기본값인 0으로 초기화된다.

 

배열의 메모리를 할당했다면 각 요소의 값을 지정해주어야 한다.

배열을 선언하며 각 요소의 값을 지정해주는 것을 초기화라고 하고, 따로 초기화 코드를 입력하지 않으면

모든 값은 각 타입의 기본값으로 초기화 된다.

배열을 초기화 하는 코드는 {}를 사용하고 요소의 값을 일일히 입력하면 된다.

int[] numbers = new int[] {1, 2, 3, 4, 5};

//이 경우는 요소를 모두 명시했기 때문에 배열의 크기를 알려준 것과 다름없다. 따라서 아래와 같이 작성 가능하다.

int[] numbers = {1, 2, 3, 4, 5};

 

배열을 초기화 했다면 배열 요소에 접근하여 사용할 수 있다.

배열의 각 요소에 접근하기 위해 인덱스(index)를 쓰고 배열을 선언한 크기의 인덱스를 가진다.

참고로 인덱스는 1, 2, 3 을 선언했다고 해도 0, 1, 2 이런식으로 시작된다.

int[] numbers = {1, 2, 3, 4, 5};

int num = numbers[0];

//num = 1 

int[] sum = numbers[0] + numbers[1] ;

//sum = 1 + 2 (=3)

 

반대로 인덱스를 이용해 값을 지정도 가능하다.

numbers[0] = 3;
numbers[3] = 145;

 

 

반응형