Java Array

1 분 소요

배열 (Array)

배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다. 배열은 하나의 변수에 크기에 맞는 값을 저장할 수 있다.

배열은 자료형 타입 바로 옆에 [ ] 기호를 사용하여 표현한다.

int[] odds = {1, 3, 5, 7, 9};
String[] weeks = {"월", "화", "수", "목", "금", "토", "일"};

위의 배열은 1차원 배열이다. 2차원, 3차원등의 다차원 배열도 가능한데 2차원 이상의 배열은 프로그래밍 시 잘 사용되지 않는다.



[ 배열의 길이 설정 ]

// 1번
String[] weeks = new String[7];
weeks[0] = "월";
weeks[1] = "화";
...
weeks[6] = "일";

---

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

위의 예제 두개를 보면 1번 예제는 길이를 먼저 설정하고 사용했다. 2번 예제는 배열의 길이는 설정하지 않았지만 안에 값을 7개를 저장해놓은 상태이다.

결국 두 예제의 길이는 같다.

배열은 길이를 먼저 설정해도 되고 나중에 설정해도 된다.

배열의 길이를 설정하지 않고 나중에 사용하려고 하면 컴파일 에러가 발생한다.

String[] weeks = new String[]; // 컴파일 오류 발생


[ 배열의 값 접근 ]

배열의 값을 접근하는 방법은 간단하다.
배열의 길이중 원하는 값이 하나인 경우 인덱싱을 사용하면 된다.

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


[ 배열의 길이 ]

프로그램 작성 시 배열이 만들어 졌다면 십중팔구는 반복문을 활용한다.
배열의 길이 만큼 반복문을 실행하는데 배열의 길이가 수정이 된다면 반복문도 바꿔줘야 하는 귀찮은 일이 발생된다.

그 문제를 한번에 해결해주는 배열의 길이를 구해주는 Java 내장함수가 존재한다.

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

weeks.length는 “weeks” 배열의 길이 즉 7을 나타낸다.



[ 배열의 오류 ]

프로그래밍을 하다 보면 많은 오류가 발생한다. 그 오류중 배열오류의 관한 것이다.

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

위의 오류는 배열의 길이는 총 7개인데 그 이상의 값을 얻으려고 해서 발생하는 오류이다.


태그: , ,

카테고리:

업데이트: