본문으로 바로가기

[Java] 배열(Array) 선언 및 초기화 하기

category Program/Java 2020. 3. 6. 14:46
배열(Array) 이란?
배열(Array)이란 선형 자료구조(Data Structure)중 하나로, 동일한 타입의 연관된 데이터를 메모리에 연속적으로 저장하여 하나의 변수에 묶어서 관리하기 위한 자료 구조입니다.  가장 기본적인 자료구조인 만큼 C,Java,Python등 거의 모든 언어에 구현되어 있습니다.
 
 배열의 길이는 최초 선언한 값으로 고정되며 위와 같이 인덱스(Index)를 통해 데이터에 접근 할 수 있습니다.
 
배열(Array) 선언 및 초기화
배열을 선언할때  참조변수만 먼저 선언하여 크기 및 값을 이후에 초기화 하는 것도 가능하고 최초 선언시 부터 배열의 크기 및 값을 할당해 주는 것도 가능합니다. 아래는 여러가지 방법으로 배열을 선언하고 초기화 하는 예제입니다.

 

//크기 할당 & 초기화 없이 배열 참조변수만 선언
int[] arr;
int arr[];

// 선언과 동시에 배열 크기 할당
int[] arr = new int[5];
String[] arr = new String[5]; 

// 기존 배열의 참조 변수에 초기화 할당하기
int[] arr;
arr = new int[5]; //5의 크기를 가지고 초기값 0으로 채워진 배열 생성

// 선언과 동시에 배열의 크기 지정 및 값 초기화
int[] arr = {1,2,3,4,5}; 
int[] arr = new int[]  {1,3,5,2,4};    
int[] odds = {1,3,5,7,9};  
String[] weeks = {"월","화","수","목","금","토","일"};

// 2차원 배열 선언
int[][] arr = new int[4][3];   //3의 크기의 배열을 4개 가질 수 있는 2차원 배열 할당  
int[][] arr9 = { {2, 5, 3}, {4, 4, 1}, {1, 7, 3}, {3, 4, 5}};
//arr[0] >> {2, 5, 3};
//arr[1] >> {4, 4, 1};
//arr[2] >> {1, 7, 3};
//arr[3] >> {3, 4, 5};
 
 참고로 기본타입(Primitive type)의 배열인 경우 초기값을 가지고 있는 반면에(int = 0) 참조타입(Reference type)의 배열을 선언했을 경우 배열내 엘리먼트의 초기값이 null임을 주의하셔야 합니다.

 

// 객체(Class) 배열 선언
Student[] StudentArr = new Student[5];     //Student Class의 인스턴스 최대 5개 할당할 수 있는 배열
//StudentArr[0] >> null
//StudentArr[1] >> null
//StudentArr[2] >> null
//StudentArr[3] >> null
//StudentArr[4] >> null

배열(Array) 출력하기
아래와 같이 index를 통해 배열내 데이터에 접근 할 수 있으며 Index는 0부터 시작합니다.
int[] arr = {1,2,3,4,5};    
for(int i = 0; i < arr.length; i++) {
       System.out.println(arr[i]);
}
for(int number : arr) {
       System.out.println(number);
}
* 결과 
1
2
3
4
5