# 배열이란 무엇인가요?
## 배열이란 배열이란, 여러 값을 담는 **순서가 있는 변수**입니다. 배열의 값은 순서(**index**)를 가지며, 모두 **같은 타입**이라는 특징이 있습니다. **인덱스는 `[0]`부터** 시작함을 주의하세요. ## 필요성 배열을 사용하면, 연관성있는 데이터를 관리하기 편리합니다. 아래는 99명의 학생 점수를 일일히 변수화한 코드입니다. ``` int student0 = 88; int student1 = 72 ... int student99 = 96; ``` 위 코드를 배열로 바꾸면 아래와 같이 변경할 수 있습니다. ``` int[] scores = {88, 72, ..., 96}; ``` ## 배열 생성법 배열의 생성법은 크게 2가지가 있습니다. 1) 생성과 동시에 초기화 ``` int[] arr1 = {11, 22, 33, 44}; ``` 2) 먼저 생성 후, 개별 초기화 ``` int[] arr2 = new int[4]; arr2[0] = 11; arr2[1] = 22; arr2[2] = 33; arr2[3] = 44; ``` ## 배열 사용법 배열내 값들은 변수명에 인덱스(index)를 표기하여 접근할 수 있습니다. ``` array[IDX] ``` 배열의 길이는 `length`를 통해 얻을 수 있습니다. ``` int arr3 = {10, 20, 30, 40, 50}; System.out.println(arr3.length); ``` ## 코드 예 ``` // 0: 자바, 1: 수학, 2: 과학, 3: 영어 double[] grades = {4.5, 3.5, 4.0, 3.0}; // 자바 점수 읽기 System.out.println("자바 = " + grades[0]); // 자바 점수 변경 grades[0] = 4.0; // 평균 구하기 double sum = 0; for (int i = 0; i < grades.length; i++) { sum += grades[i]; } double avg = sum / grades.length; System.out.printf("평점: %.2f\n", avg); ``` ## 참고자료 --- 1. https://goo.gl/C3mFYC