자바 기초 - 배열

지우·2023년 1월 6일
0

CNU SW 아카데미 2기

목록 보기
3/10

자바를 포함하여 어떤 언어든 프로그래밍을 하다 보면 배열 (혹은 리스트)을 사용할 때가 많다. 배열 선언과 관련 함수들을 정리해보려고 한다.


✔️배열

💡정의

변수에 같은 타입의 여러 값을 저장하고 싶을 때 배열을 사용한다. 참조 타입으로, 각 메모리 공간에 인덱스가 부여된다.

인덱스[0][1][2][3]
302131

이때 인덱스는 0부터 배열의 크기 N보다 1 작은 (N-1)에 해당한다.


선언

//new 연산자로 생성하기
int[] arr1 = new int[4]; //N = 4인 int형 배열 생성
double arr2[] = new double[9]; //N = 9인 double형 배열 생성

//목록으로 생성하기
int[] a = {1, 2, 3, 4, 5}; //N = 5인 int형 배열 생성

2차원 배열
1차원 배열은 오직 행만 있는 경우, 2차원 배열은 행과 열이 있는 경우를 뜻한다.

int[][] a = { {0, 1, 2},
			  {1, 2, 3} };
// 2 x 3의 2차원 배열
// a[0] : {0, 1, 2}
// a[1] : {1, 2, 3}
// a[0][1] : 1
// a[1][2] : 3

a[n][m]에서, n은 행의 인덱스, m은 열의 인덱스라 생각하면 된다.

활용
new 연산자를 사용하므로 배열은 인스턴스로 생성함을 알 수 있다. 따라 arr.length로 배열 인스턴스의 length 필드에 접근하여 길이(N)를 얻을 수 있다.
또한 앞서 설명한 인덱스로 배열의 특정 값에 접근할 수 있다.

int[] a = {1, 2, 3, 4, 5};
System.out.println(a[2]); //3, 인덱스가 0부터 시작함에 주의!
a[0] = 8; //a = {8, 2, 3, 4, 5}
System.out.println(a[0]); //8

또한 for문을 배열에 맞게 변형할 수 있다.

int[] a = {11, 2, 23, 4, 66};

for(int i : a) {
	System.out.println(i);
}

해당 식에는 기존의 for문과 같이 증감식, 조건식이 없다. 그대신 int형 변수 i는 배열 속 값을 나타내고, 처음부터 끝까지 순회하며 for문을 실행하게 된다.

11
2
23
4
66

배열의 값을 차례대로 순회하며 활용하고 싶을 때, 하나하나 접근하는 방법보다 간편히 접근할 수 있는 방법이다.

profile
기록용

0개의 댓글