배열(Array)은 연관된 정보를 그룹핑 하는데 사용한다.
예를 들면 자연수 10까지의 숫자에서 홀 수들만을 따로 그룹핑을 하여라 --> (1,3,5,7,9) 등 을 배열을 사용하여 그루핑 할 수있다.
이러한 문제를 해결하기 위해 배열이 있다.
1부터 10까지의 숫자들 중 홀수들의 집합은 int 배열로 표현이 가능하다.
int[] arr = {1, 3, 5, 7, 9};
위 코드를 보면 배열은 [ ] 기호를 사용해 표현한다. 위의 예제와 같이 int 자료형의 배열은 int[ ] 로 표현이되었다.
그러면 문자열은 어떻게 하면 배열을 표현할 수 있을까?
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"}
위 처럼 문자열은 String을 사용해 String[ ] 배열로 표현할 수 있다.
즉, 배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.
※ 자바 배열은 1차원, 2차원, 3차원 배열이 있다, 2차원 배열은 잘 사용하지 않는다.
요일 집합 예제를 다음과 같이 고쳐 쓸 수 있다.
public static void main(String[] args) throws IOException {
String[] weeks = new String[7];
weeks[0] = "월";
weeks[1] = "화";
weeks[2] = "수";
weeks[3] = "목";
weeks[4] = "금";
weeks[5] = "토";
weeks[6] = "일";
}
배열의 길이를 먼저 설정하여 배열 변수를 먼저 생성한 다음 그 값은 나중에 대입하는 방법이다.
단, 위의 예처럼 초기값 없이 배열 변수를 만들때에는 반드시 길이에 대한 숫자값이 필요하다.
String[] weeks = new String[]
위의 코드 같은 경우는 불가능하다.
위의 코드에서 "수"에 해당되는 값을 얻으려면 다음과 같이 인덱싱 해야한다.
public static void main(String[] args) throws IOException {
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[2]);
}
자바는 배열을 0부터 시작하기 때문에 0, 1, 2 즉 "2"로 해야지 세번째에 위치해있는 "수"가 출력되게 된다.
배열은 보통 for문과 함께 사용된다. for문에 사용할 때 배열의 길이만큼 for문을 돌리는 것이 중요한데 length를 이용하여 구한다.
public static void main(String[] args) throws IOException {
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
for (int i=0 ; i < weeks.length ; i++){
System.out.println(weeks[i]);
}
weeks 배열을 순서대로 출력하는 프로그램이다. length를 사용하여 월 부터 일까지 출력을 하였다.
배열은 굉장히 다양하게 쓰이고 명령어도 많지만 더 공부를 하면서 배워보도록 하자.