안녕하세요 코이킹입니다.
이번 포스트에서는 배열에 대해서 설명해보겠습니다.
1. 배열이란?
배열은 같은 데이터 타입의 변수가 순차적으로 저장되어 있는 모습의 자료구조입니다.
수량이 정해진 다수의 같은 데이터 타입의 데이터를 다룰 때 배열이 사용됩니다.
2. 배열의 선언과 초기화
1) 배열의 선언
// [데이터 타입] [] [배열명];
int [] arrayInt;
2) 선언한 배열을 초기화하기 (배열의 길이를 지정)
// 배열명 = new 데이터 타입 [];
arrayInt = new int[3];
3) 배열의 선언과 초기화를 동시에 하기 (배열의 길이를 지정)
// 데이터 타입 [] 배열명 = new 데이터 타입 [];
String [] arrayStr = new String[3];
4) 배열의 선언과 초기화를 동시에 하며, 배열에 데이터를 넣어서 생성하기
- 방법 1
// 데이터 타입 [] 배열명 = new 데이터타입[]{요소1, 요소2, 요소3, ...}
char [] arrayChar = new char[] {'A','B','C'};
- 방법 2
// 데이터 타입 [] 배열명 = {요소1, 요소2, 요소3, ...}
byte [] arrayByte = {1, 2, 3};
3. 배열에 값 입력・출력하기
배열의 요소에 접근하기 위해서는 인덱스(index) 번호를 알고 있어야 합니다.
배열의 인덱스 번호는 0부터 시작하며 '배열명[인덱스 번호]'와 같이 배열의 요소에 접근할 수 있습니다.
System.out.println(arrayInt[0]); // 0 int배열의 기본값은 0이다.
System.out.println(arrayInt[1]); // 0
System.out.println(arrayInt[2]); // 0
// 배열의 각 공간에 값을 대입
arrayInt[0] = 3;
arrayInt[1] = 2;
arrayInt[2] = 1;
// length는 배열의 길이를 담고 있다.
for (int i=0; i<arrayInt.length; i++) {
System.out.println("배열의 ["+i+"] 번째 인덱스의 요소의 값 : "+ arrayInt[i]);
}
4. 다차원 배열의 선언과 초기화
다차원 배열은 int [][] 배열 이름 = new [상위 차원의 길이][하위 차원의 길이]와 같이 선언과 초기화를 할 수 있습니다.
※ 5 * 5 크기의 2차원 배열은 아래와 같은 공간이 메모리에 할당됩니다.
[0,0][0,1][0,2][0,3][0,4]
[1,0][1,1][1,2][1,3][1,4]
[2,0][2,1][2,2][2,3][2,4]
[3,0][3,1][3,2][3,3][3,4]
[4,0][4,1][4,2][4,3][4,4]
1) 선언과 배열의 길이 지정하기
// 데이터 타입 [][] 배열명 = new 데이터 타입[상위차원 길이][하위차원 길이];
int [][] MultiArrayInt1 = new int[5][5];
2) 선언과 초기화를 동시에 하기
- 방법 1
int [][] MultiArrayInt2 = new int[][] {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}
};
- 방법 2
int [][] MultiArrayInt3 = {
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15}
};
4. 다차원 배열에 값 입력・출력하기
다차원 배열의 요소에 접근하기 위해서는 상위 차원 인덱스 번호와 하위 차원 인덱스 번호를 알고 있어야 합니다.
'배열명[상위 차원 인덱스 번호][하위 차원 인덱스번호]' 와 같이 배열의 요소에 접근할 수 있습니다.
System.out.println(MultiArrayInt1[0][0]); // 0 int배열의 기본값은 0이다.
System.out.println(MultiArrayInt1[0][1]); // 0
System.out.println(MultiArrayInt1[0][2]); // 0
MultiArrayInt1[0][0] = 3;
MultiArrayInt1[0][1] = 2;
MultiArrayInt1[0][2] = 1;
for (int i=0; i<MultiArrayInt1.length; i++) {
for (int j=0; j<MultiArrayInt1.length; j++) {
System.out.println("배열의 ["+i+","+j+"] 번째 인덱스의 요소의 값 : "+ MultiArrayInt1[i][j]);
}
}
※ 예제코드
https://github.com/leeyoungseung/algorithmBasic/blob/master/algorithm/src/basic/B_07_Array.java
※ qiita에 투고한 URL
'프로그래밍 > Java-문법정리' 카테고리의 다른 글
【Java문법】표준입출력 (0) | 2022.01.09 |
---|---|
【Java문법】메서드 (0) | 2022.01.09 |
【Java문법】반복문 (0) | 2022.01.09 |
【Java문법】조건문 (0) | 2022.01.09 |
【Java문법】연산자 (0) | 2022.01.09 |
댓글