배열
- 동일한 자료형의 순차적 자료 구조
- 인덱스 연사자[]를 이용하여 빠른 참조가 가능
- 물리적 위치와 논리적 위치가 동일
- 배열의 순서는 0부터 시작
- 자바에서는 객체 배열을 구현한 ArrayList를 많이 활용함
배열 선언과 초기화
- 배열 선언하기
int[] arr1 = new int[10];
int arr2[] = new int[10];
- 배열 초기화 하기
배열은 선언과 동시에 자료형에 따라 초기화 됨
필요에 따라 초기값을 지정
int[] numbers = new int[] {10, 20, 30}; // 개수 생략해야 함
int[] numbers = {10, 20, 30}; // new int[] 생략 가능
int[] ids;
ids = new int[] {10, 20, 30}; // 선언 후 배열을 생성하는 경우는 new int[] 생략할 수 없음
배열 사용하기
int[] arr = new int [10];
int total = 0;
for(int i=0, num=1; i<10; i++) {
arr[i] = num++;
System.out.println(arr[i]);
}
// 향상된 for문
for(int num : arr) {
total += num;
}
배열의 길이와 요소의 개수는 동일하지 않음
- 배열을 선언하면 개수만큼 메모리가 할당되지만, 실제 요소(데이터)가 없는 경우도 잇음
- 배열의 length 속성은 배열의 개수를 반환해주기 때문에 요소의 개수와는 다름
- length를 활용하여 오류가 나는 경우
double[] dArr = new double[5];
dArr[0] = 1.1;
dArr[1] = 2.1;
dArr[2] = 3.1;
double mtotal = 1;
for(int i=0; i<dArr.length; i++) {
mtotal *= dArr[i];
}
System.out.println(mtotal) // 값은 0이 나옴
- 요소의 개수에 대한 변수(count)를 따로 유지
double[] dArr = new double[5];
int count = 0;
dArr[0] = 1.1; count++;
dArr[1] = 2.1; count++;
dArr[2] = 3.1; count++;
double mtotal = 1;
for(int i=0; i<count; i++) {
mtotal *= dArr[i];
}
System.out.println(mtotal);
참고 :
Fastcampus
'JAVA' 카테고리의 다른 글
| [JAVA] 객체 간의 상속 (3) | 2023.07.12 |
|---|---|
| [JAVA] 2차원 배열 (1) | 2023.07.10 |
| [JAVA] Static 응용 - 싱글톤 패턴 (0) | 2023.07.09 |
| [JAVA] static 메서드 (0) | 2023.07.04 |
| [JAVA] static 변수 (3) | 2023.07.04 |