배열은 크기가 고정돼있고, 그 안에 하나의 타입의 데이터만 들어갈 수 있다.
배열의 크기는 배열이 만들어질 때 정해진다
출처 :https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
배열의 각각 아이템은 element라고 부르고 각각의 요소들은 숫자 인덱스가 부여된다.
인덱스는 0부터 시작이다.
byte[] anArrayOfBytes;
short[] anArrayOfShorts;
long[] anArrayOfLongs;
float[] anArrayOfFloats;
double[] anArrayOfDoubles;
boolean[] anArrayOfBooleans;
char[] anArrayOfChars;
String[] anArrayOfStrings;
이렇게 선언을 실제 배열이 만들어 진게 아니라 컴파일러가 변수가 배열이라는 것만 알 수 있다.
byte[] anArrayOfBytes;
anArrayOfBytes = new byte[10]; // []안에 크기를 지정한다.
위 방식으로 선언하면 크기가 10인 byte타입의 배열이 생성된다.
byte[] ansArrayOfBytes = new anArrayOfBytes[10];
이런 식으로도 선언 가능하다.
int[] marks = new int[5];
marks ==> int[5]{ 0,0,0,0,0 }
double[] values = new double[5];
values ==> double[5]{ 0.0,0.0,0.0,0.0,0.0 }
boolean[] tests = new boolean[5];
tests ==> boolean[5]{ false,false,false,false,false }
class Person {}
Person[] persons = new Person[5];
persons ==> Person[5]{ null,null,null,null,null }
anArrayOfBytes[0] = 1; // 배열의 0번째 인덱스에 1을 넣는다.
anArrayOfBytes[1] = 2; // 배열의 1번째 인덱스에 2를 넣는다.
int[] Array = {1,2,3,4,5}; //이렇게 선언하면 크기가 5인 배열이 완성되고 요소도 들어간다.
int[][] array = new int[3][2]
int[3][] {
int[2] { 0, 0 },
int[2] { 0, 0 },
int[2] { 0, 0 }
}
array[1][1] = 1 // 이런 식으로 요소를 넣는 것이 가능하다. 1행 1열에 1이라는 요소를 넣었다.
int[3][] {
int[2] { 0, 0 },
int[2] { 0, 1 },
int[2] { 0, 0 }
}
int[] a = {3,4}
array[0] = a; //배열 자체를 넣어도 된다.
int[3][] {
int[2] { 3, 4 },
int[2] { 0, 1 },
int[2] { 0, 0 }
}
int[][] array = new int[3][];
array[0] = new int[3];
$10 ==> int[3] { 0, 0, 0 }
array[1] = new int[4]
$11 ==> int[4] { 0, 0, 0, 0 }
array[2] = new int[5]
$12 ==> int[5] { 0, 0, 0, 0, 0 }
array
array ==> int[3][] { int[3] { 0, 0, 0 },
int[4] { 0, 0, 0, 0 },
int[5] { 0, 0, 0, 0, 0 }
}
reference
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html