배열(Array)은 같은 타입의 변수를 하나의 묶음으로 관리한다. 변수가 하나의 데이터만 저장할 수 있다면 배열은 여러개의 데이터를 저장하고 효율적으로 관리한다.
저장해야할 같은 타입의 데이터가 100개가 있다면 배열을 사용하지 않았을 경우 변수 100일일이 선언하고 저장해 줘야 한다.
int num1, num2, num3 ... num100;
하지만 배열을 사용한다면 길이가 100인 배열을 한번만 선언하면 된다.
int[] num = new int[100];
배열은 매번 변수의 이름을 정하는 불편함을 덜어준다. 그로 묶어서 관리하는 것이 편한 데이터는 배열로 관리해주는 것이 편하다. 즉, 배열이란 자료형의 종류가 아닌 자료형의 집합을 의미한다.
1 배열의 선언과 생성
배열을 선언하려면 변수 선언에서 타입 뒤에 대괄호([])를 추가해 주면 된다.
타입[] 배열이름;
int[] num;
String[] name;
배열을 선언하는 것은 생성된 배열을 다루기 위한 참조변수를 위한 공간을 확보한다.
실제 값들이 저장되는 공간을 배열을 생성해야 만들어지게 된다. 배열을 생성하기 위해서는 연산자 'new'를 쓰고 타입과 길이를 정해주면 된다.
배열이름 = new 타입[길이];
num = new int[50];
name = new String[5];
대부분의 경우 배열의 선언과 생성을 동시에 한다.
타입[] 배열이름 = new타입[길이];
int[] num = new int[50];
String[] name = new String[5];
2 배열의 길이와 인덱스
배열의 데이터를 다룰 때는 인덱스를 사용하게 된다. 인덱스(index)란 배열의 공간마다 붙여진 번호이다.
예를 들어 길이가 3인 배열 a를 선언했다면 3개의 데이터가 들어갈 공간을 갖게 되는데 각 공간을 0부터 순서대로 번호를 부여받는다. 이를 통해 배열의 이름과 인덱스를 이용해 각 요소에 접근한다. 첫 번째 요소에 접근하려면 배열의 이름인 a와 인덱스 번호0를 사용하면 된다. 인덱스는 기억장소의 주소를 대신하여 사용하는 것으로 0번부터 번호가 부여된다.
배열의 작업에서 주의 할 점은 인덱스의 번호가 0부터 시작한다는 점이다. 만약 길이가 3인 배열을 생성했다면 각 요소는 순서대로 0, 1, 2의 인덱스를 갖게 되는 것이다. 따라서 인덱스의 최댓값은 배열의 길이보다 1작다.
① 다음과 같이 코드를 작성하게 되면 각각 배열의 요소는 다음 값을 갖게 된다.
int[] a = new int[0];
a[0] = 10;
a[1] = 11;
a[2] = 12;
이를 시각화 하자면 다음과 같다.
② 배열의 요소가 값을 갖게 되면 이제 배열의 요소로 다양한 작업이 가능하다.
a[2] = a[1];
// 요소에 요소를대입
③ a[2] = a[0] + a[1]; // 요소 두 개를 더하여 그 값을 다른 요소에 대입
'Java > Java 기초문법' 카테고리의 다른 글
[JAVA 기초] 자바 배열(Array) - 3 foreach문, 예제 (0) | 2021.03.05 |
---|---|
[JAVA 기초] 자바 배열(Array) - 2 초기화와 출력 (0) | 2021.03.04 |
[JAVA 기초] 제어문 - 반복문 (break, continue) (0) | 2021.03.03 |
[JAVA 기초] 자바 문자열 비교 (연산자 ==와 메서드 equals와 차이) (0) | 2021.03.03 |
[JAVA 기초] 제어문 - 반복문 (while문, do~while문) (0) | 2021.03.03 |
댓글