1. 배열(array)이란?
- 배열은 자료형의 종류가 아닌 자료형의 집합을 의미한다.
- 안에 값이 들어가는 것이 아니라 값의 주소값이 들어가 있다.
- 고정된 길이를 갖는 연속된 공간이다.(크기가 처음부터 정해져 늘리거나 줄일 수 없다.)
- 같은 타입(자료형)의 여러 변수를 하나의 대표적인 변수로 묶음
(<-> 클래스 : 다른 타입의 여러 변수를 하나의 대표적인 변수로 묶음)
2. 배열의 선언 및 초기화
2.1. 배열의 선언
1
2
3
4
| 데이터타입[] 변수명;
데이터타입 변수명[];
변수명 = new 데이터타입[배열길이];
데이터타입[] 변수명 = new 데이터타입[배열길이];
|
2.2. 배열의 선언 및 초기화
1
2
| int[] array1 = {10, 20, 30, 40, 50};
System.out.println(array1)
|
배열을 그대로 출력하게 되면 배열의 주소값이 출력된다.
3. 배열의 출력
배열은 위처럼 바로 출력하게 되면 주소값만 나오게 되므로
아래의 방법을 사용해야 출력값을 볼 수 있다.
3.1. 반복문을 이용한 출력
1
2
3
| for (int i = 0; i < array1.length; i++) {
System.out.print(array1[i] + " ");
}
|
3.2. toString() 메소드
1
2
3
| import java.util.Arrays;
...
System.out.println(Arrays.toString(array1));
|
python list처럼 보이지만 출력을 위한 문자열값이다.
3.3. 향상된 for문
1
2
3
| for (String s : array1) { // 배열값을 s로 지정해서 배열값 하나씩
System.out.print(s + " ");
}
|
4. 다차원 배열
2차원 배열
2차원 배열을 예로 들면, 2차원 배열은 배열 안에 다른 배열을 넣어 만든다.
1
2
3
4
5
6
7
8
| int[][] array2 = new int[7][7];
for (int i = 0; i < array2.length; i++) {
for (int j = 0; j < array2[i].length; j++) {
System.out.print(array2[i][j] + " ");
}
System.out.println();
}
|
1
2
3
4
5
6
7
| 0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
|
배열의 길이만 지정하면 기본값은 0으로 출력된다.