- Do it! 자바 프로그래밍 입문 온라인 강의를 수강하며 작성하였습니다.
- Section 1. 자바의 핵심 - 객체지향 프로그래밍
- 17강 "배열과 ArrayList"
- 배열
배열 선언
배열 초기화
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;
배열을 선언하고 초기화를 따로 하지 않으면 기본값으로 배열이 초기화 된다.
(int형은 0, double형은 0.0, 객체 배열은 null로 초기화가 된다.)
배열 사용
double[] nums = new double[5];
nums[0] = 10.0;
nums[1] = 20.0;
nums[2] = 30.0;
for(int i=0; i<nums.length; i++) {
System.out.println("nums[" + i + "] = " + nums[i]);
}
만약 nums 배열에서 초기화된 값들을 모두 곱하고 싶은 경우에는 자동으로 초기화된 0.0을 제외하고 곱해줘야 한다. 따라서 변수를 따로 설정하여 초기화한 개수를 세어주는 방법을 이용할 수 있다.
double[] nums = new double[5];
int size = 0;
nums[0] = 10.0; size++;
nums[1] = 20.0; size++;
nums[2] = 30.0; size++;
double total = 1;
for(int i=0; i<size; i++) {
total *= nums[i];
}
아래는 알파벳을 각각의 배열에 넣어주는 방법에 대한 예제이다.
char[] alphabets = new char[26];
char ch = 'A';
for(int i=0; i<alphabets.length; i++, ch++) {
alphabets[i] = ch;
System.out.println("alphabets[" + i + "] = " + alphabets[i]);
}
이번 시간에는 기본 자료형을 이용한 배열만 다루었고, 다음 강의에서는 String, 객체 배열을 다룰 예정이다.