배열을 자바에서 쓰려면 Array 선언이나 사용방법을 알아둬야 한다.
배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.
배열은 자료형 타입 바로 옆에 [] 기호를 사용하여 표현한다. 아래 예제와 같이 int 자료형의 배열은 int[] 로 표현한다.
int[] arr = {12, 24, 35, 37, 49};
요일의 집합은 다음과 같이 String 배열로 표현 할 수 있다.
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
위에서 살펴본 요일의 집합은 다음과 같이 고쳐 쓸 수 있다.
String[] weeks = new String[7];
weeks[0] = "월";
weeks[1] = "화";
weeks[2] = "수";
weeks[3] = "목";
weeks[4] = "금";
weeks[5] = "토";
weeks[6] = "일";
배열의 길이를 먼저 설정하여 배열 변수를 먼저 생성한 다음 그 값은 나중에 대입하는 방법이다.
단, 초기값 없이 배열 변수를 만들때에는 반드시 길이에 대한 7과 같은 크기가 필요하다.
즉, 다음과 같은 코드는 불가능하다.
String[] weeks = new String[]; // 길이에 대한 숫자값이 없으므로 컴파일 오류가 발생한다.
--------------------------------------------------------------------------------------------------
위에서 만든 요일의 배열중 "목" 요일에 해당되는 값을 얻으려면 다음과 같이 인덱싱을 이용해야 한다.
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};
System.out.println(weeks[3]);
목
weeks[3]은 weeks 배열의 네번째 항목을 의미한다. (자바는 0부터 숫자를 센다.)
다음의 예처럼 요일 배열의 길이는 총 7개인데 만약 8번째 값을 얻으려고 시도하면 이와 같은 오류가 발생한다.
System.out.println(weeks[7]); // 8번째 배열값이 없으므로 ArrayIndexOutOfBoundsException 오류가 발생한다.
처음에 선언된 크기 이상의 index는 가질 수 없으므로 생긴 오류이다.
즉, 배열을 이용하려면 배열을 생성할 때 크기를 반드시 선언해야 하며,
선언한 크기대로 만들어진 배열의 크기를 수정할 수 없다.
동적으로 크기를 설정하여 배열을 만들어야 할 경우가 있는데
그럴 땐 Array 보단 ArrayList를 쓰는 게 좋다.
'IT기술 > JAVA' 카테고리의 다른 글
[JAVA] JAVA에서 JSON 사용하기 - JSONObject, JSONArray (0) | 2023.05.09 |
---|---|
[JAVA] 리스트 List ArrayList 사용 방법 (0) | 2023.05.08 |
[JAVA] 여러 데이터를 저장하는 객체, array, map, list, (0) | 2023.05.08 |
[LOMBOK] @NOARGSCONSTRUCTOR , @ALLARGSCONSTRUCTOR , @REQUIREDARGSCONSTRUCTOR (0) | 2023.05.02 |
[JAVA] openJDK 설치하기, openJDK 환경변수 설정 (0) | 2023.04.21 |