배열(array)
배열이란?
같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을'배열(array)라고 한다.
많은 양의 데이터를 손쉽게 저장하고 다루기 위해 필요하다.
배열은 '같은 타입'의 여러 변수를 하나의 묶음으로 다루는 것
배열은 각 저장공간이 연속적으로 배치되어 있다는 특징이 있다.
배열의 선언과 생성
배열을 선언하는 방법은 원하는 타입의 변수를 선언하고 변수 또는 타입에 배열임을 의미하는 대괄호를 붙이면 된다.
선언방법 | 선언 예 |
타입[] 변수이름; | int[] score; String[] name; |
타입 변수이름[]; | int score[]; String name[] |
배열의 생성
배열을 선언한 다음에는 배열을 생성해야 한다. 배열을 선언하는 것은
생성된 배열을 다루기 위한 참조변수를 위한 공간이 만들어질 뿐이고,
배열을 생성해야만 비로소 값을 저장할 수 있는 공간이 만들어진다.
타입[] 변수이름;
변수이름 = new 타입[길이];
배열을 생성하기 위해서는 연산자'new'와 함께 배열의 타입과 길이를 지정해 주어야 한다.
1. int[] score; //int형 배열 참조변수 score을 선언한다.
2. score = new int [5]; //연산자'new'에 의해서 메모리의 빈 공간에 5개의 int형 데이터를 저장할 수 있는 공간이 마련된다.
배열의 길이와 인덱스
생성된 배열의 각 저장공간을 '배열의 요소'라고 하며 '배열 이름[인덱스]의 형식으로 배열의 요소에 접근한다.
인덱스(index)는 배열의 요소마다 붙여진 일렬번호로 각 요소를 구분하는 데 사용된다.
인덱스(index)의 범위는 0부터 '배열길이-1'까지.'
배열의 길이
배열을 생성할 때 괄호[]안에 배열의 길이를 적어줘야 하는데, 배열의 길이는 배열의 요소와 개수, 즉 값을 저장할 수 있는 공간의 개수다.
배열의 길이는 양의 정수로 나오며 최댓값은 int타입의 최댓값, 약 20억이다.
타입[] 배열 이름 = new 타입[길이];
int arr = new int [];
배열의 길이는 int범위의 양의 정수(0도포함)이어야 한다.
배열 이름. length
자바에서는 JVM이 모든 배열의 길이를 별도로 관리하며
'배열 이름. length'를 통해서 배열의 길이에 대한 정보를 얻을 수 있다.
배열은 한번 생성하면 길이를 변경할 수 없기 때문에, 이미 생성된 배열의 길이는 변하지 않는다.
따라서 배열 이름. length는 상수로 변경할 수 없다.