
String[] days = {"월", "화", "수", "목", "금", "토", "일"};
선언할 때 []를 붙여서 배열임을 표시한다. 자바스크립트와는 다르게 데이터는 []가 아니라 {}로 묶어서 할당한다.
System.out.println(days[0]); // "월"
System.out.println(days[5]); // "토"
배열[i] : 배열의 i번째 인덱스에 있는 요소에 접근
System.out.println(days.length); // 7
배열.length : 배열의 길이
for (int i = 0; i < days.length; i++) {
System.out.println(days[i] + "요일");
}
for (String day : days) {
System.out.println(day + "요일");
}
days배열의 모든 요소를 도는 반복문. 각 요소는 day에 할당된다.
String[] days2 = Arrays.copyOf(days, 8); // 새 배열의 길이 입력
System.out.println(days2[7]); // null
days2[7] = "헐";
System.out.println(days2[7]); // 헐
Arrays.copyOf(배열, n) : 배열을 복사하되, n의 길이를 가지도록 한다. 기존 배열길이 보다 n이 더 큰 경우 남는 공간은 null로 지정된다.
System.out.println(days); // [Ljava.lang.String;@23fc625e
System.out.println(Arrays.toString(days)); // [월, 화, 수, 목, 금, 토, 일]
배열 그 자체를 출력하면 위 코드블럭에서처럼 이상한 값이 출력된다. 배열의 데이터를 출력해보고 싶다면 Arrays.toString(배열)를 활용하여 출력하면 된다.
String[][] days2d = {
{"월", "화", "수", "목", "금", "토", "일"},
{"월", "화", "수", "목", "금", "토", "일"},
{"월", "화", "수", "목", "금", "토", "일"}
};
System.out.println(days2d); // 주소([Ljava.lang.String;@23fc625e)
System.out.println(Arrays.toString(days2d)); // 주소, 주소, 주소
System.out.println(Arrays.toString(days2d[0])); // [월, 화 ..., 일]
System.out.println(days2d[0][0]); // 월
배열 요소로 배열을 넣을 수도 있다.