728x90
- [인프런]자바 프로그래밍 입문강좌 7강 배열 정리입니다.
- 다수의 데이터를 인덱스를 이용해서 관리하는 방법을 학습합니다.
7.1 배열이란?
- 인덱스를 이용해서 자료형이 같은 데이터를 관리하는 것이다.

- int a = 10; int b = 20; => 데이터 한개만 관리
- 배열 => 여러개의 데이터를 한번에 관리하기 위한 것
- 인덱스 = 꼬리표로 생각. 0번부터 시작한다.
- 배열의 길이 = 배열의 크기
- 데이터가 10개가 관리되고있다
- 배열의 길이(크기) : 10
- 인덱스 : 0 ~ 9
- 데이터가 10개가 관리되고있다
7.2 배열 선언 및 초기화
- 배열도 변수와 마찬가지로 선언과 초기화 과정을 거쳐 사용한다.
// 배열 선언 후 초기화
int[] arr1 = new int[5]; // 배열 선언 단계
arr1[0] = 100;
arr1[1] = 200;
arr1[2] = 300;
arr1[3] = 400;
arr1[4] = 500;
System.out.println("arr1[0] : " + arr1[0]);
System.out.println("arr1[1] : " + arr1[1]);
System.out.println("arr1[2] : " + arr1[2]);
System.out.println("arr1[3] : " + arr1[3]);
System.out.println("arr1[4] : " + arr1[4]);
// 결과
// arr1[0] : 100
// arr1[1] : 200
// arr1[2] : 300
// arr1[3] : 400
// arr1[4] : 500
// 배열 선언과 초기화를 동시에
int[] arr2 = {10, 20, 30, 40, 50};
System.out.println("arr2[0] : " + arr2[0]);
System.out.println("arr2[1] : " + arr2[1]);
System.out.println("arr2[2] : " + arr2[2]);
System.out.println("arr2[3] : " + arr2[3]);
System.out.println("arr2[4] : " + arr2[4]);
// 결과
// arr2[0] : 10
// arr2[1] : 20
// arr2[2] : 30
// arr2[3] : 40
// arr2[4] : 50
- 배열에 담기는 데이터의 자료형은 모두 동일해야 한다.
- int[] arr1 = new int[5];
- int 형의 데이터를 담는 배열을 새로 만드는데 배열의 크기는 5이다.
- 배열의 크기만큼 메모리를 확보했다.
- int 형의 데이터를 담는 배열을 새로 만드는데 배열의 크기는 5이다.
- arr1[0] = 100;
- 배열의 0번 인덱스에는 100을 넣는다.
- int[] arr2 = {10, 20, 30};
- int 형의 데이터를 담는 배열을 만들어서 10, 20, 30을 넣는다.
- => int[] arr2 = new int[3];
- arr2[0] = 10;
- arr2[1] = 20;
- arr2[2] = 30;
- 자바에서 배열의 크기가 한 번 결정되고 나면 변경이 불가능하다.
- 배열의 크기를 넘어서는 인덱스에 접근하려고 하면 에러가 발생한다.
- System.out.println("arr2[5] : " + arr2[5]);
- => Index 5 out of bounds for length 5
7.3 배열을 이용한 학사관리
- 배열은 주로 많은 데이터를 쉽게(효율적) 관리하기 위해서 사용한다.
// 배열을 이용한 학사관리
String[] name = {"박찬호", "이승엽", "박병호", "이병규", "류현진"};
int[] score = new int[5];
Scanner scanner = new Scanner(System.in);
System.out.printf("%s의 점수를 입력하시오. : ", name[0]);
score[0] = scanner.nextInt();
System.out.printf("%s의 점수를 입력하시오. : ", name[1]);
score[1] = scanner.nextInt();
System.out.printf("%s의 점수를 입력하시오. : ", name[2]);
score[2] = scanner.nextInt();
System.out.printf("%s의 점수를 입력하시오. : ", name[3]);
score[3] = scanner.nextInt();
System.out.printf("%s의 점수를 입력하시오. : ", name[4]);
score[4] = scanner.nextInt();
System.out.printf("%s 점수 : \t%.2f\n", name[0], (double)score[0]);
System.out.printf("%s 점수 : \t%.2f\n", name[1], (double)score[1]);
System.out.printf("%s 점수 : \t%.2f\n", name[2], (double)score[2]);
System.out.printf("%s 점수 : \t%.2f\n", name[3], (double)score[3]);
System.out.printf("%s 점수 : \t%.2f\n", name[4], (double)score[4]);
double ave = (double)(score[0] + score[1] + score[2] + score[3] + score[4]) / 5;
System.out.printf("-------------------------------------\n평 점 : \5%.2f", ave);
scanner.close();
// 결과
// 박찬호의 점수를 입력하시오. : 95
// 이승엽의 점수를 입력하시오. : 85
// 박병호의 점수를 입력하시오. : 75
// 이병규의 점수를 입력하시오. : 99
// 류현진의 점수를 입력하시오. : 80
// 박찬호 점수 : 95.00
// 이승엽 점수 : 85.00
// 박병호 점수 : 75.00
// 이병규 점수 : 99.00
// 류현진 점수 : 80.00
// -------------------------------------
// 평 점 : 86.80
- Scanner : 사용자에게 데이터를 입력 받을 때 사용한다.
728x90
'Java' 카테고리의 다른 글
| 6강 연산자 (0) | 2021.07.31 |
|---|---|
| 5강 특수 문자와 서식 문자 (0) | 2021.07.30 |
| 4강 기본자료형 (0) | 2021.07.30 |
| 3강 변수 (0) | 2021.07.30 |
| 2강 Java 프로그램의 실행 구조 (0) | 2021.07.28 |