[Java] 배열

lkc9898·2022년 5월 16일

Java

목록 보기
10/25
post-thumbnail

배열이란

동일한 타입의 변수들을 하나의 묶음으로 다루는것.
배열은 1차원 배열과 다차원 배열, 이 두 가지로 나눌 수 있다.

배열 선언 및 초기화

// 선언과 동시에 초기화
int[] array = new int[5]; // array -> {0, 0, 0, 0, 0}
// 배열의 요소 값을 지정하지 않으면 각 요소는 해당 타입의 기본값으로 채워진다.

// 선언 후 초기화 및 값 채우기
int[] array; //선언
array = new int[5]; // array -> {0, 0, 0, 0, 0}
array[0] = 1; // array -> {1, 0, 0, 0, 0}
array[1] = 2; // array -> {1, 2, 0, 0, 0}

// 선언과 동시에 값을 넣어 초기화
int[] array = {1, 2, 3, 4, 5}
int[] array = new int[] {1, 2, 3, 4, 5}; // array -> {1, 2, 3, 4, 5}

배열을 생성하기 위해서는 위에서처럼 new 데이터타입[배열크기]를 입력해야 한다.
new int[5]는 정수형 요소를 5개 갖는 배열을 만든다는 뜻이다.

코드 예시

int[] num = {5, 6, 7};
String[] day = {"웧", "화", "수", "목", "금", "토", "일"};

System.out.println(num[0]); // 5가 출력
System.out.println(day[6]); // "일"이 출력

System.out.println(num.length); // 배열의 길이 3이 출력
System.out.println(day.length); // 7이 출력

for(int i = 0; i < day.length; i++) {
	System.out.println(day[i]); // 순서대로 월 부터 일 까지 출력
    }
// for문을 활용해 배열의 값들을 쉽게 출력할 수 있다.

day 배열의 길이는 7이지만 배열의 요소는 0부터 카운트 하기 때문에 6번째 자리까지 있다.
만약 배열의 길이가 7인데 day[7]을 불러 올 경우 없는 요소이기에 오류가 발생한다.

다차원 배열

1차원 배열만으로는 한계가 있기 때문에 배열이 배열의 요소로 들어가 있는 다차원 배열이 존재하며 학교를 예로 들면 반이 여러개 있고 반마다 학생이 여러명 있다. 배열로 표현하려면 일일이 한 반마다 선언을 해줘야 하는데 이는 번거롭기 때문에 다차원 배열을 사용한다.

기본형태

String[][] school = new String[5][30]; // 5개의 반에 30명

shool[0][0] = "학생1"; // 다차원 배열에 값을 넣을 때

5개의 반과 30명의 학생을 다차원 배열로 표현하고 각 요소마다 값만 넣어주면 1차원 배열보다 편하게 표현할 수 있다.

코드 예시

String[][] arr = new String[3][3]; // 3행 3열 크기의 배열 선언
	for(int i = 0; i < arr.length; i++) {
    	for(int j = 0; j < arr[i].length; j++)
        	System.out.print("(" + i + ", " + j + ")");
            System.out.println(); // 한줄 작성 후 줄바꿈
        }
/* 출력
(0, 0)(0, 1)(0, 2)
(1, 0)(1, 1)(1, 2)
(2, 0)(2, 1)(2, 2)
*/

다중 for문을 활용해 다차원 배열의 각 요소들의 위치를 표현했다.

0개의 댓글