위의 코드는 배열의 각 요소를 for문을 이용해서 출력하는 일을 한다.
여기서 score배열의 크기는 6이며 인덱스의 범위는 0~5이다.
이 때 코드를 다음과 같이 변경하여 배열에 저장될 값을 하나 줄인다면,
배열의 크기가 5로 변경되었으므로 유효한 인덱스의 범위는 0~4가 된다.
length는 배열의 크기가 변경됨에 따라 자동적으로 변경된 배열의 크기를 갖기 때문에,
배열의 처리에 사용되는 for문의 조건식을 일일이 변경해주지 않아도 된다.
for(int i=0; i < score.length; i++){System.out.println(score[i]);}
다차원 배열
자바에서는 1차원 배열 뿐만 아니라 2차원 이상의 다차원 배열도 허용한다.
2차원 배열을 잘 이해하면 2차원 이상의 배열에 응용하는 것은 그리 어렵지 않다.
<color blue>3차원이상의 고차원 배열의 선언은 대괄호[]의 개수를 차원 수 만큼 추가해 주기만 하면 된다.</color>
2차원 배열은 주로 테이블 형태의 데이터를 담는데 사용되며, 만일 5행 3열의 데이터를 담기 위한 배열을 생성하려면 다음과 같이한다.
int[][] score =newint[5][3];// 5행 3열의 2차원 배열을 생성한다.
위 문장이 수행되면 score[0][0]부터 score[4][2]까지 15개의 저장공간이 마련된다.
선언방법
선언예
타입[][] 변수이름;
int[][] score;
타입 변수이름[][];
int score[][];
타입[] 변수이름[];
int[] score[];
가변 배열
자바에서는 2차원 이상의 배열에 대해서 “배열의 배열”의 형태로 처리한다는 사실을 이용하면 보다 자유로운 형태의 배열을 구성할 수 있다.
2차원 이상의 다차원 배열을 생성할 때 전체 배열 차수 중 마지막 차수의 크기를 지정하지 않고,
추후에 각기 다른 크기의 배열을 생성함으로써 고정된 형태가 아닌 보다 유동적인 가변 배열을 구성할 수 있다.
아래와 같이 2차원 배열을 생성하면 다음과 같이 각 열마다 다른 크기의 배열이 생성하는 것이 가능하다.