배열이란, 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다.
배열을 통해 값들을 묶어서 저장한다는 것은 메모리 공간 상에 물리적으로 값들을 모아서 저장하는 것을 의미한다.
double[] tempOfJuly;
tempOfJuly = new double[31];
//double[] tempOfJuly = new double[31];
//위와 동일함
-배열을 가리킬 참조 변수 tempOfJuly를 선언하고, 총 31개의 double형 값을 저장할 수 있는 배열이 생성된다.
(이 때, 배열의 모든 요소는 double형의 기본값인 0.0으로 초기화되어 있음)
double[] tempOfJuly = new double[] { 25.2, 30.1, 31.5, 37.4, ... };
// 선언과 초기화를 하나의 문장으로 할 때에 한해 new double[]을 생략할 수 있다.
double[] tempOfJuly = { 25.2, 30.1, 31.5, 37.4, ... };
배열참조변수[인덱스]로 배열의 요소에 접근할 수 있다.
배열의 길이는 배열참조변수.length로 얻을 수 있다.
자바에서 배열 내용을 출력해보려고 배열 자체에서 toString()을 사용하면 배열의 내용이 아니라 배열의 주소값이 출력된다. 배열의 내용을 출력하려면 Arrays.toString()을 사용해야 한다.
System.out.println(Arrays.toString(tempOfJuly));
//2차원 배열의 선언과 초기화
int[][] kcal;
kcal = new int[30][3];
//int[][] kcal = new int[31][3]; 위와 동일
int[][] kcal = new int[][] {
{ 1234, 1254, 2145 },
{ 1357, 1645, 1247 },
{ 1368, 2001, 2135 },
...
{ 1745, 1341, 1896 }
};
// 선언과 초기화를 하나의 문장으로 할 때에 한해 new int[][]를 생략할 수 있다.
int[][] kcal = {
{ 1234, 1254, 2145 },
{ 1357, 1645, 1247 },
{ 1368, 2001, 2135 },
...
{ 1745, 1341, 1896 }
};
배열이 2차원 이상일 때, 마지막 차수에 해당하는 배열의 길이를 고정하지 않아도 되며, 이러한 배열을 가변 배열이라고 한다.
가변배열의 선언 및 초기화
int[ ][ ] ages = new int[5][ ];
내부배열을 생성하려면 new int[ ]를 사용하여 외부 배열의 각 요소에 할당해주면 된다.
int[][] ages = new int[5][];
ages[0] = new int[5];
ages[1] = new int[6];
ages[2] = new int[7];
ages[3] = new int[8];
ages[4] = new int[9];