배열을 들어가기 전 보통 문자열과 숫자열에 대해서 공부를 했었다.
뭐 예를들면 int 또는 String 이런것들에 대해서 공부를 했었는데 물론 int를 통해서
1~10까지의 숫자를 담을 수 있고 if문을 통해서 1~10이라는 숫자 중 홀수만 출력하는 것도
충분히 할 수 있을거다 근데, if문을 사용하지 않으면 홀수만 빼는건 어려운 일이다.그래서 이러한 문제를 해결하기 위해 배열이라는 것이 존재하게 되는데우선 1~10 중 홀수인 숫자 1,3,5,7,9를 배열로 표현하자면 이렇게 표현할 수 있다.
int[] holsu = {1,3,5,7,9};
배열은 자료형 타입 바로 옆에 [] 기호를 사용해서 표현을 한다.
위 예제와 같이 int 자료형의 배열은 int[] 로 표현되었다.
요일의 집합은 다음과 같이 String 배열로 표현 할 수 있다.
String[] weeks = {"월","화","수","목","금","토","일",}
배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.
※ 위에서 알아본 배열은 모두 1차원 배열이다. 2차원,3차원 등의 다차원 배열도 가능하긴 한데
2차원 이상의 배열은 잘 사용하지 않는다고 한다.
배열의 길이는 고정되어 있다.
위에서 본 요일의 집합 예제는 아래의 코드와 같이 고쳐 쓸 수 있다.
String[] weeks = new String[7];
weeks[0] = "월";
weeks[1] = "화";
weeks[2] = "수";
weeks[3] = "목";
weeks[4] = "금";
weeks[5] = "토";
weeks[6] = "일";
배열의 길이를 먼저 설정하고 배열 변수를 먼저 생성한 다음 그 값은 나중에 대입을 하는 방법이다.
단, 위의 예처럼 초기값 없이 배열 변수를 만들 때에는 반드시 길이에 대한 숫자값이 필요하다.
즉, 아래와 같은 코드는 에러가 발생이 된다.
String[] weeks = new String[]; // 길이에 대한 숫자값이 없으므로 컴파일 오류가 발생한다.
배열의 값에 접근하여 출력을 하려면 아래와 같이 코드를 짜면 확인할 수 있다.
String[] weeks = {"월","화","수","목","금","토","일"};
System.out.println(weeks[3])
이렇게 하게 되면 weeks[3]에 해당하는 값인 "목"을 출력하게 된다.
여기서 알아야하는 건 weeks 배열의 네번째 값이 weeks[3] 이게 되며 자바는 0부터 숫자를 센다.
그렇기 때문에 월요일부터 0,1,2,3,4,5,6 이 되며 일요일을 출력하려면 weeks[6]을 해야한다.
그리고 배열은 보통 for문과 함께 자주 사용이 된다, for문에 배열이 사용될 경우에는
배열의 길이만큼 for문을 돌리는 것이 중요한데 배열의 길이는 다음과 같이 length를 이용해서 구한다.
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
for (int i=0; i<weeks.length; i++) {
System.out.println(weeks[i]);
}
weeks 배열을 순서대로 출력하는 코드이며 length를 어떻게 사용했는지를 알아야한다.for 문을 통해서 사용한건데 그냥 쉽게 생각하면 weeks.length 만큼 반복을 시킨거다weeks.length가 weeks 배열의 길이라고 생각하면 된다.
'Java' 카테고리의 다른 글
| 2022-09-07 자바 (제네릭, 해쉬맵(간단)) (0) | 2022.09.07 |
|---|---|
| 2022-09-06 자바 (배열의 길이, 배열 삭제, 제네릭) (0) | 2022.09.06 |
| 2022-08-31 자바 수업 (static, final) (0) | 2022.09.01 |
| 2022-08-30 자바 수업 (0) | 2022.08.30 |
| 2022-08-26 자바 (0) | 2022.08.30 |
댓글