int[] studentIDs = new int[10] //배열을 선언할 땐 배열의 길이를 명시
int[] studentIDs = new int[] {101, 102, 103}; //선언과 동시에 초기화 할 땐 개수 생략
int[] studentIDs = new int[3] {101, 102, 103}; //이렇게 개수 넣으면 오류 발생
int[] studentIDs = {101, 102, 103}; //new를 안써도 int형 요소가 3개인 배열 생성
배열을 선언할 땐 배열의 길이를 반드시 명시해야 하고, 선언과 동시에 초기화할 때에는 개수를 생략해야 한다. 선언과 동시에 초기화할 땐 new 키워드를 쓰지 않아도 해당 길이만큼의 배열이 선언된다.
선언 이후에 초기화를 따로 할 때는 아래와 같이 작성하면 된다.
int[] numbers = new int[3];
numbers[0] = 1;
numbers[1] = 2;
numbers[2] = 3;
아무런 초기화 값이 없이 선언만 한 경우, 정수는0, 실수는 0.0 객체배열은 null로 초기화 됨
=> 배열을 선언하고 초기화를 따로 하지 않으면 기본값으로 배열이 초기화 된다.
(int형은 0, double형은 0.0, 객체 배열은 null로 초기화가 된다.)
- 배열의 위치를 지정하여 자료를 가져온다.
- 모든 배열의 순서는 0부터 시작한다.
- n개 배열은 0 부터 n-1 위치까지 자료가 존재한다.
배열의 길이의 속성: length
자료가 있는 요소만 출력 하려면 크기에 대한 저장을 따로 해야 함
(아래 예제에서 전체 길이로 곱하기를 하면 값은 아래처럼 0.0이 되어 버림)
package array;
public class ArrayTest2 {
public static void main(String[] args) {
double[] num = new double[5]; // double형으로 길이5인 배열 선언
num[0] = 10.0;
num[1] = 20.0;
num[2] = 30.0;
double total = 1;
for(int i=0; i<num.length; i++) { //num.length = 천체 배열 길이만큼 반복
total *= num[i];
}
System.out.println(total);
}
}
0이 나오는 이유는 아래처럼 3,4번째 값이 0.0이기 때문
package array;
public class ArrayTest2 {
public static void main(String[] args) {
double[] num = new double[5];
num[0] = 10.0;
num[1] = 20.0;
num[2] = 30.0;
for(int i=0; i<num.length; i++) {
System.out.println("num[" + i + "] = " + num[i]);
}
}
}