1) 배열의 선언과 크기

지금까지 우리는 숫자와 문자열에 대해서 알아보았다. 하지만 이러한 것들로 프로그래밍을 하기엔 부족한 점이 많다. 예를 들어 1부터 10까지의 숫자들 중 홀수들의 모임인 1, 3, 5, 7, 9라는 집합을 생각해 보자. 이것들을 숫자나 문자열만으로 표현 하기는 쉽지가 않다. 이러한 불편함을 해소하기 위하여 자바에는 배열이라는 것이 존재한다.

 

1부터 10까지의 숫자들 중 홀수들의 집합은 다음과 같이 int 배열로 표현 할 수 있다.

 


int[] odds = {1, 3, 5, 7, 9};

 

배열은 자료형 타입 바로 옆에 [] 기호를 사용하여 표현한다. 위 예제와 같이 int 자료형의 배열은 int[] 로 표현되었다.

 

요일의 집합은 다음과 같이 String 배열로 표현 할 수 있다.

 


String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};

 

즉, 배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.

※ 위에서 알아본 배열은 모두 1차원 배열이다. 2차원, 3차원등의 다차원 배열도 가능한데 사실 2차원 이상의 배열은 프로그래밍 시 잘 사용되지 않는다.

 

배열의 값은 어떻게 접근할 수 있을까?

 

위에서 만든 요일의 배열중 "목"에 해당되는 값만 얻으려면 다음과 같이 인덱싱을 이용하면 된다.

 


String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[3]);

 

weeks[3]은 weeks배열의 4번째 항목을 의미한다. (자바는 0부터 숫자를 센다.)

 

배열의 길이

 

프로그램 작성 시 배열이 만들어 졌다면 십중팔구는 for문으로 배열값을 돌리기 마련이다. 이런 경우 배열의 길이만큼 for 문을 돌리는 것이 중요한데 이 배열의 길이는 다음과 같이 length를 이용하여 구한다.

 


String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
for (int i=0; i<weeks.length; i++) {
    System.out.println(weeks[i]);
}

 

weeks 배열을 순서대로 출력하는 프로그램이다. length를 어떻게 사용했는지 눈여겨 보도록 하자. for문에 대해서는 다음 챕터에서 자세하게 알아볼 것이다.

 

예제를 연습해 봅시다