동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 즉, 연관된 데이터를 그룹화하여 묶어준다고 생각하면 된다.
- 자료형[] 배열 이름 = new 자료형[개수]
- 자료형 배열 이름[] = new 자료형[개수]
int[] studentIDs = new int[10]; //int형 요소가 10개인 배열 선언
배열을 선언하면 선언한 자료형과 배열 길이에 따라 메모리가 할당됩니다!
자바에서 배열을 선언하면 그와 동시에 각 요소의 값이 초기화된다.
자료형 | 초기화 값 |
---|---|
정수 | 0 |
실수 | 0.0 |
객체 | null |
int[] studentIDs = new int[] {101, 102, 103};
//오류 발생
int[] studentIDs = new int[3] {101,102,103};
int[] studentIDs = {101,102,103};
int stdentIDs; //배열 자료형 선언
studentIDs = new int[] {101,102,103}; //new int[] 생략 불가
package array;
public class ArrayTest {
public static void main(String[] args) {
int[] num = new int[] {1,2,3,4,5,6,7,8,9,10};
for(int i = 0; i <num.length; i++) {
System.out.println(num[i]);
}
}
}
정수 10개를 저장할 배열을 선언하고 각 요소를 값 1부터 10까지 초기화한 후 반복문을 이용해 배열 요소 값을 하나씩 출력하는 코드입니다.
Java에서는 배열 길이를 나타내는 length 속성을 가진다. 배열의 길이는 처음에 선언한 배열의 전체 요소 개수를 의미한다. 전체 길이를 알고 싶은 배열 이름 뒤에 도트(.) 연산자를 붙이고 length 속성을 쓰면 배열 길이를 반환해준다.
위 코드에서 num.length의 값은 10이 됩니다.
배열 전체 길이만큼 수행문을 반복해야 할 때는 숫자를 직접 사용하는 것보다 length 속성을 사용하는 것이 좋습니다!
배열의 요소값이 0인 경우 배열.length로 배열 속 요소들을 출력하면 유효하지 않은(값이 0인) 요소도 함께 출력됩니다.
유효한 값이 저장된 배열 요소까지만 출력하는 코드입니다.
public class ArrayTest3 {
public static void main(String[] args) {
double[] data = new double[5];
int size = 0;
data[0] = 10.0; size++;
data[1] = 20.0; size++;
data[2] = 30.0; size++;
for(int i = 0; i <size; i++) {
System.out.println(data[i]);
}
}
}
값을 저장할 때마다 size 변수의 값을 1씩 증가시켜 유효한 값이 저장된만큼의 배열 길이를 알 수 있습니다.