[java] 자바 배열 사용하기

2025. 1. 1. 07:09java 기초

배열은 "같은 타입" 의 여러 변수를 하나의 묶음으로 다루는것이다.
ex) 타입[] 변수명;
    변수명 = new 타입[길이];
    
1. 배열은 첫번째 INDEX 값 0으로 시작한다.
ex) int[5] 변수명;
	아래와 같이 지정한 길이는 0부터 4까지의 5개의 배열로 이루어진다.
    int [0],[1],[2],[3],[4]
    
2. 배열의 초기화
	배열은 자동으로 초기화 되기때문에 사용하기전에 초기화를 하지않아도 되지만,
    원하는 값을 저장하려면 아래와 같이 각 요소마다 값을 지정해 줘야한다.
ex) int [] 변수명 = new int[5];
	변수명[0] = 50;
    변수명[1] = 60;
    변수명[2] = 70;
    변수명[3] = 80;
    변수명[4] = 90;
    
위 예제를 반복문으로 쉽게 지정해 보자.

int [] 변수명 = new int[5];
for(int i=0; i<변수명.length; i++) {
	변수명[i] = i * 10 + 50;
}

3. 배열의 출력
	배열에 저장된 값을 확인한다.
ex) int [] 변수명 = {100, 95, 80, 70, 60};
	for(int i=0; i<변수명.length; i++) {
    	System.out.println(변수명[i]);
    }
    
    toString() 를 사용하면 배열의 모든요소를 출력할수도 있다.
    
4. 배열의 복사
	배열은 한번 생성하면 그 길이를 변경할 수 없기 때문에 길이를 늘리려면
    기존 배열보다 큰 새로운 배열을 만들고 기존 배열로부터 내용을 복사해야한다.
4.1 for문을 이용하여 복사
ex) int [] arr = new int [5];

	arr의 2배 길이 배열을 생성합니다.
	
	int [] tmp = new int [arr.length * 2];
    for(int i=0; i<arr.length; i++) {
    	tmp [i] = arr [i];
    }
    
    참조변수 arr이 새로운 배열을 바라보게 합니다.
    
4.2 System.arraycopy() 를 이용한 배열의 복사
	지정된 범위의 값들을 한번에 통째로 복사합니다.
    배열의 몇번째 요소에서 어느배열로 몇개의 값을 복사할 것인지 지정해야 합니다.
    
ex) System.arraycopy(num, 0, newNum, 0, num.length);
=> num [0] 에서 newNum [0] 으로 num.length개의 데이터를 복사합니다.