int[] arr1;
int arr2[];  // C-style

선언방식입니다.

대괄호를 타입 뒤에 붙여도 되고, 변수 뒤에 붙여도 되는데 보통은 "int[] arr" 처럼 타입 뒤에 씁니다.

 

float[][] f[][], g[][][], h[];  // bad
float[][][][] f;
float[][][][][] g;
float[][][] h;  // good

대괄호를 양쪽 다 붙이는 것도 가능합니다. 위 둘은 동일한 선언인데, 아래 버전이 가독성이 더 좋으니 양쪽에 붙이는건 삼가주세요.

 

int[] arr1 = new int[5];

int[] arr2;
arr2 = new int[10];

선언 및 할당 방식 예제입니다. 선언과 동시에 할당해도 되고, 따로 해도 됩니다.

 

int[] arr = new int[6];
int sz = arr.length;  // 6

배열은 length를 통해 길이를 갖고올 수 있습니다.

 

int[] arr1 = new int[]{ 1, 2, 3, 4, 5 };
int[] arr2 = { 1, 2, 3, 4, 5 };  // new int[] 생략 가능

int[] arr3;
// arr3 = { 10, 20, 30 }; // 선언과 초기화 따로 할때는 new int[] 생략 불가
arr3 = new int[]{ 10, 20, 30 };

배열 초기화는 위와 같이 할 수 있습니다. 선언과 초기화가 분리되어 있는 경우는 new 타입[]을 생략할 수 없는 점 참고해주세요.

 

import java.utils.Arrays;

int[] arr1 = {1, 2, 5, 6};
System.out.println(arr1);   // ex. [I@75b84c92
System.out.println(Arrays.toString(arr1));  // [1, 2, 5, 6]

배열 오브젝트를 직접 출력하면 "[I@75b84c92" 처럼 타입@해시코드로 출력됩니다.

Arrays.toString()을 이용하면 배열을 쉽게 String으로 만들어 출력할 수 있습니다.

 

char[] arr1 = {'h', 'e', 'l', 'l', 'o'};
System.out.println(arr1);   // hello

예외적으로 char 배열은 문자들이 합쳐져서 출력됩니다.

반응형