본문 바로가기
Sketch (Programming Language)/Java

Java의 정석 Chapter 5. 배열

by 생각하는 이상훈 2022. 5. 14.
728x90

배열 (array)

배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것이다.

 

배열의 선언

1. 타입[] 배열이름;
2. 타입 배열이름[];

int[] i_array;
int i_array[];

위와 같이 배열을 두가지 방법으로 선언할 수 있다. 

 

배열의 크기는 length라는 내장함수를 이용하여 구할 수 있다.


배열의 복사

System.arraycopy()를 이용하여 복잡한 과정을 생략하고 배열을 복사할 수 있다.

public class arrayEx2 {

    public static void main(String[] args) {
        char[] abc = {'A', 'B', 'C', 'D'};
        char[] num = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};

        System.out.println(abc);
        System.out.println(num);

        char[] result = new char[abc.length + num.length];
        System.arraycopy(abc, 0, result, 0, abc.length);
        System.arraycopy(num, 0, result, abc.length, num.length);
        System.out.println(result);

        System.arraycopy(abc, 0, num, 6,3);
        System.out.println(num);

        System.arraycopy(abc, 0, num, 6, 3);
        System.out.println(num);
    }
}

String 배열

String [] name = new String[3];
name[0] = "Kim";
name[1] = "Park";
name[2] = "Lee";


String [] name = new String[] {"Kim", "Park", "Lee"};

위와 같이 두가지 방법으로 배열을 선언할 수 있다.

 


커맨드 라인을 이용하여 프로그램을 실행할 때 클래스 이름 뒤에 공백문자로 구분하여 여러 개의

문자열을 프로그램에 전달 할 수 있다.

class ArrayEx16 {
	public static void main(String[] args) {
		System.out.println("매개변수의 개수:"+args.length);

		for(int i=0;i< args.length;i++) {
			System.out.println("args[" + i + "] = \""+ args[i] + "\"");
		}
	}
}

다차원 배열

다차원 배열이란 2차원 이상의 배열을 의미하며, 배열 요소로 또 다른 배열을 가지는 배열을 의미한다.

 

1. 타입[][] 배열이름;
2. 타입 배열이름[][];
3. 타입[] 배열이름[];

위와 같은 세가지 방법으로 2차원 배열을 선언할 수 있다.

int[][] arr = new int[2][3];

int k = 10;
for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        arr[i][j] = k; // 인덱스를 이용한 초기화
        k += 10;
    }
} 

for (int i = 0; i < arr.length; i++) {
    for (int j = 0; j < arr[i].length; j++) {
        System.out.print(arr[i][j] + " ");
    }
    System.out.println();
}

 

 

 

 

 

 

 

728x90