5장
Last updated
Last updated
/*
==========================================================================
1. 1차원 배열의 초기화
==========================================================================
*/
// new int[] 사용
int[] arr = new int[]{1, 2, 3};
// new int[] 생략
int[] arr = {1, 2, 3};
// 선언과 생성을 따로 하면 new int[] 생략 불가
int[] arr;
arr = {50, 60, 70, 80, 90}; // 에러
arr = new int[]{50, 60, 70, 80, 90}; // OK
/*
==========================================================================
2. 2차원 배열의 초기화
==========================================================================
*/
// new int[][] 사용
int[][] arr = new int[][]{
{1, 2, 3},
{4, 5, 6}
};
// new int[][] 생략
int[][] arr = {
{1, 2, 3},
{4, 5, 6}
};
/*
==========================================================================
3. 문자열 배열의 초기화
- 원래 String은 클래스
- char 배열에 기능(메서드)를 추가한 것
(메서드는 객체지향 언어에서 '함수'대힌 사용하는 용어)
String 객체(문자열)는 읽을 수 있지만 char 배열처럼 내용 변경 불가
==========================================================================
*/
// new String[] 사용
String[] name = new String[3]{"A", "B", "C" };
// new String[] 생략
String[] name = {"A", "B", "C" };
// 개별 초기화
String[] name = new String[3];
name[0] = new String("A");
name[1] = "B"; // String은 클래스이나 특별히 허용/*
==========================================================================
1. 1차원 배열 출력
==========================================================================
*/
// 반복문 사용
int[] iArr = {1, 2, 3, 4, 5};
for (int i=0; i<iArr.length; i++) {
System.out.println(iArr[i]); // "1" 부터 "5"까지 하나씩 출력
}
// Arrays.toString(배열이름) 메서드 사용
import java.util.Arrays;
System.out.println(Arrays.toString(iArr)); // "[1, 2, 3, 4, 5]" 출력
// 배열이름 접근 시 타입@주소 형식으로 출력
System.out.println(iArr); // "[I@2a139a55" 출력
// 문자 배열
import java.util.Arrays;
char[] chArr = {'a', 'b', 'c', 'd'};
System.out.println(Arrays.toString(chArr)); // "[a, b, c]" 출력
System.out.println(chArr); // "abc" 출력
/*
==========================================================================
2. 2차원 배열 출력
==========================================================================
*/
// 반복문 사용
int[] iArr = {
{1, 2, 3},
{4, 5, 6}
};
for (int i=0; i<iArr.length; i++) {
for (int j=0; j<iArr[0].length; j++) {
System.out.println(iArr[i][j]); // "1" 부터 "6"까지 하나씩 출력
}
}
// Arrays.toString(배열이름) 메서드 사용
import java.util.Arrays;
int[][] iArr = {
{1, 2, 3},
{4, 5, 6}
};
for (int i=0; i<iArr.length; i++) {
System.out.println(Arrays.toString(iArr[i])); // "[1, 2, 3]" 부터 "[4, 5, 6]" 출력
}
// 배열이름 접근 시 타입@주소 형식으로 출력
import java.util.Arrays;
System.out.println(Arrays.toString(iArr)); // "[[I@2a139a55, [I@15db9742]" 출력
System.out.println(iArr); // "[I@2a139a55" 출력