본문 바로가기
Java/Java 기초문법

[JAVA 기초] 자바 배열(Array) - 2 초기화와 출력

by dev수니 2021. 3. 4.
반응형

배열의 초기화


 

배열을 생성하면 기본적으로 배열의 타입에 해당하는 기본 값으로 초기화된다. 그러므로 따로 초기화를 반드시 할 필요는 없지만 특정한 값을 저장하려면 요소마다 값을 저장해야 한다.

 

int[] student = new int[3];  // 길이가 3인 배열 생성

student[0] = 30;  // 배열의 첫번째 요소에 30을 저장
student[1] = 20;  // 배열의 두번째 요소에 20을 저장
student[2] = 10;  // 배열의 세번째 요소에 10을 저장

 

 

배열에 요소를 저장 할 때 인덱스를 통해 일일이 접근하지 않고 값을 저장하는 방법도 있다.

 

타입[] 배열이름 = new타입 {요소1, 요소2, 요소3, ...};
int[] ar = null;
ar = new int[] {1, 2, 3};  // new타입[] 생략가능
타입[] 배열이름 = {요소1, 요소2, 요소3, ...};

 

배열의 요소가 순차적으로 늘어나거나 규칙적일 경우 반복문으로 초기화를 하는 방법도 있다.

int[] arr = new int[100];
for(int i=0; i<arr.length; i++){
     arr[i] = i+1  // {1, 2, 3, 4, 5, 6, ... , 100}
}

 

 

 


배열의 출력


 

배열의 길이를 출력하는 방법

배열이름.length

 

 

 

배열의 요소를 출력하는 방법

 

① 배열의 요소를 하나하나 출력

int[] num = {1,2,3,4,5};  // 배열의 생성
System.out.println(num[0]);
System.out.println(num[3]);

결과
1
4

② 배열의 모든 요소를 출력

int[] num = {1,2,3};  // 배열의 생성

System.out.println(num[0]);
System.out.println(num[1]);
System.out.println(num[2]);

// 위의 경우 반복되는 코드들이 생기므로 아래와 같이 반복문을 활용해 코드의 길이를 줄여준다.

for(int i=0; i<num.length; i++){  // 배열의 길이로 인덱스 값을 지정해준다.
    System.out.println(num[i]);    // num[0], num[1], num[2]
}

결과
1
2
3

③ Arrays.toString()메서드를 사용해 출력하는 방법이다.

import 필수! (import java.util.Arrays)

int[] num = {1,2,3};  // 배열의 생성

System.out.println(Arrays.toString(arr));  // 배열의 요소를 문자열로 바꾸어 출력

결과

[1, 2, 3]

 

 

plus arraycopy()

배열은 정적 리스트static list이다. 한번 생성된 배열의 길이는 변경할 수 없 때문이다. 배열에 저장할 공간이 부족할 경우 더 큰 길이의 배열을 생성한 후 기존 배열의 값을 복사할 수 있다. 이때 System클래스의 arraycopy() 메소드를 사용할 수 있다. System.arraycopy()는 지정된 범위의 값들을 한번에 통째로 복사하는 기능을 제공한다.

 

반응형

댓글