티스토리 뷰
ocajp에는 2차월 배열 문제가 많이 나온다. 그래서 자바 2차원 배열에 관해 정확히 이해하고 가는게 좋다.
2차원 배열에 대해 알려드릴게요.
바로 이전 포스팅에서 보셨던 배열이
1차원 배열이에요.
2차원 배열은 값을 더 많이
효과적으로 담을 수 있어요.
이런 2차원 이상의 배열을 다차원 배열이라고 하는데
실질적으로 2차원 배열 이상으로는 잘 사용되지 않아요.
1차원과 2차원이 무엇이냐면
1차원 배열에서는 값을 1번만 담아요.
그런데 2차원 배열은 1차원 배열에
값을 더 담을 수 있어요.
예를 들어볼게요.
int[][] arr = new int[3][4];
3개의 배열 안에 각각 4개씩 더 담을 수 있는 거죠.
이것을 보기 쉽게 변경한다면
이런 형태가 돼요.
따라서 int[3][4]이면
3은 세로 길이, 4는 가로 길이를 의미하는 거죠.
1차원 배열과 마찬가지로 선언 시 []의 위치는
변수의 앞과 뒤에 자유롭게 올 수 있어요.
int[][] arr = new int[3][4];
int arr[][] = new int[3][4];
int []arr[] = new int[3][4];
위의 형태로 선언 가능하다는 것만 알아두세요 ^^
실제 사용은 첫 번째를 사용하시는 게 좋답니다~
2차원 배열의 초기화는 {}를 한번 더 묶어주시면 돼요.
int[][] arr = {
{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}
};
위의 초기화를 보시면
세로3, 가로 4줄로 이루어진 배열이라는 것도 알 수 있으실 거예요.
2차원 배열을 출력하고 싶을 때는
반복문을 두 번 쓸 수 있어요.
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("");
}
arr.length는 첫 번째 배열인 int[3]의 길이를 재고
arr[i].length는 각각의
arr[0], arr[1], arr[2]의 길이를 나타내요.
arr[0] 번째 줄의 길이는 4
arr[1] 번째 줄의 길이도 4
arr[2] 번째 줄의 길이도 4
또한 가로 길이가 일정하지 않게 할 수도 있어요.
일정하지 않은 배열을 'Ragged Array'이라고 하는데
어떻게 쓰이냐면
int[][] arr = new int[3][];
arr[0] = new int[2];
arr[1] = new int[3];
arr[2] = new int[4];
이렇게 가로 길이를 정하지 않고
아래에서 선언을 하기도 하고
선언과 동시에 초기화하기도 해요.
int[][] arr = {
{1, 2],
{3, 4, 5},
{6, 7, 8, 9}
};
이렇게 쓰여요.
이것은 필요하지 않은 메모리를 줄여서
효과적이지만
프로그래머의 세심한 주의가 필요해요.
출처:
'ocajp 자격증 (Oracle Certified Associate Ja' 카테고리의 다른 글
자바 ocjap 문제 및 해설 - List 81 (0) | 2020.03.01 |
---|---|
자바 ocjap 문제 해설 - 변수 43 (0) | 2020.03.01 |
자바 ocajp 문제 해설 - 확장 extends (0) | 2020.02.26 |
자바 ocjap 문제 해설 - 확장 extends (0) | 2020.02.25 |
자바 ocajp 문제 해설 - 연산자 (0) | 2020.02.25 |
- Total
- Today
- Yesterday
- 라이믹스 모듈
- C
- 플러터
- 문자열
- 파싱
- C언어
- 포인터
- ocjap
- JDBC
- 오라클
- webix
- xe addon
- KG
- proc
- xe애드온
- 자바
- php
- ocajp
- 파이썬
- MySQL
- 스크래핑
- 이클립스
- XE3
- XE
- esql
- 자바 smtp
- Python
- 인포믹스
- 프로씨
- EC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |