본문 바로가기

BackEnd/Java

배열 (Array)

여러개의 데이터가 있을 때 배열로 관리하면 편리하다

배열의 길이는 고정되어 있다

 

// 선언
int[] odds;

// 생성 : 메모리에 int형 데이터를 저장 가능한 연속된 공간 5개 생성
int[] odds = new int[5];

 

선언만 할 때 stack 메모리 공간에 저장되고,

생성을 할 땐 heap 메모리 공간에 주소 값이 저장된다

 

 

선언과 생성을 동시에 하는 방법

 

int[] odds = {1, 3, 5, 7, 9};

 

배열의 번호는 0 부터 시작하고 배열의 사이즈는 함수를 이용한다

 

int[] odds = new int[7];

for(int i=0; i<odds.length; i++) {
	System.out.print(odds[i] + " ");
}
System.out.println("\nodds 배열의 사이즈 : " + odds.length);

- 출력 결과
0 1 2 3 4 5 6
odds 배열의 사이즈 : 7

 

배열을 먼저 선언한 후 초기화하는 문장은 별도 사용 불가

 

int[] Arr;
int[] Arr = {1, 10, 20, 30, 40, 50, 60}; // Error!

 

데이터의 초기화 기본 값

 

byte 0
short
int
long 0L
float 0.0F
double 0.0
boolean false
char '\u0000' 또는 0
참조형 (String 등) null

 

 


다차원 배열

기본 문법은 아래와 같다

 

int[][] arr = new int[행][열];

 

선언과 초기화

 

int[][] arr = {{1, 2, 3}, {4, 5, 6}};

 

위 처럼 행과 열에 맞추면 배열은 아래와 같다

arr[0][0] = 1 arr[0][1] = 2 arr[0][2] = 3
arr[1][0] = 4 arr[1][1] = 5 arr[1][2] = 6

 

아파트를 떠올리면 배열을 이해하기 쉽다

[행][열]

 

 

이차원 배열 초기화 후 배열 생성해보기

 

int[][] arr = {{1, 2, 3}, {4, 5, 6}};

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

[ 출력 결과 ]
1
2
3

4
5
6

 

위의 코드를 보면 행과 열을 구분할 수 있다

 

행의 길이 : arr.length

열의 길이 : arr[i].length

'BackEnd > Java' 카테고리의 다른 글

Getter, Setter  (0) 2020.02.11
메서드 (method)  (0) 2020.02.04
반복 : break와 continue  (0) 2020.01.22
반복 : while, do ~ while문  (0) 2020.01.22
반복 : for문  (0) 2020.01.22