JAVA101

준비중..

JAVA101

자바 프로그래밍 입문

09 배열

# 배열 ## 들어가며 --- 이전 시간, 반복문에 대해 알아보았습니다. ![클라우드스터딩-자바-반복문-while-for](https://i.imgur.com/9e3hI1k.png) 이번 시간에는 여러 변수를 하나로 관리하는 방법에 대해 알아보도록 하죠. ## 배열의 필요성 --- 아래는 9명의 학생 성적에 대한 변수입니다. ``` int score0 = 65; int score1 = 74; int score2 = 23; int score3 = 75; int score4 = 68; int score5 = 96; int score6 = 88; int score7 = 98; int score8 = 54; ``` 이를 순서대로 출력하려면 어떻게 해야할까요? 반복문을 사용하면 뭔가 될 듯 하기도 합니다. ``` for (int i = 0; i < 9; i++) { ??? } ``` 배열을 사용하면, 위 문제를 해결할 수 있는데요. 이를 위해 먼저 배열의 정의부터 알아보도록 하겠습니다. ## 배열이란 --- 배열이란 여러 개의 변수를 하나로 묶은 자료형입니다. ``` int[] scores = {65, 74, 23, 75, 68, 96, 88, 98, 54}; ``` 위 코드는 배열을 생성하는 예인데요, 이를 그림으로 나타내면 아래와 같습니다. ![클라우드스터딩-자바-배열](https://i.imgur.com/Un8HTyh.png) 그림을 자세히 보면 배열의 특징들을 찾을 수 있는데, 잠시 한 번 살펴볼까요? 찾으셨나요? … 이제 답을 발표하겠습니다. 배열에는 일반 변수와 달리 0부터 8이라는 **인덱스**(순서)가 존재하고, 또 *모두 같은 타입*이라 특징이 있습니다. 이러한 특징을 가진 배열! 어떠한 장점이 있을까요? 맞습니다. 연관된 변수를 배열로 묶어 놓으면 그만큼 편리한 프로그래밍이 가능합니다. 옷장에 양말, 속옷, 수건이 종류별로 잘 정리되어있다면 사용하기 편리한 것과 마찬가지인 거죠. 자세한 내용은 코드 실습 때 더 알아보겠습니다. ## 배열 만들기 --- 배열이란 무엇인지 알아보았으니, 이제 직접 배열을 만들어볼까요? 배열을 만드는 방법은 크게 두 가지가 있습니다. 1. 생성과 동시에 초기화 2. 배열 틀 생성 후 값을 대입 먼저 생성과 동시에 초기화 하는 방법입니다. ``` # double타입의 배열([]) arr을 선언과 동시에 초기화 double[] arr = {1.5, 3.2, 4.3, 0.9}; ``` ![클라우드스터딩-자바-배열-생성과-동시-초기화](https://i.imgur.com/wsYbGSm.gif) 다음으로 배열 생성 후 값을 대입하는 방법입니다. ``` # int형 배열([]) arr2를 4칸 길이로 생성 int[] arr2 = new int[4]; arr2[0] = 1; // 0번 인덱스에 1을 대입 arr2[1] = 3; // 1번 인덱스에 3을 대입 arr2[2] = 4; // 2번 인덱스에 4을 대입 arr2[3] = 0; // 3번 인덱스에 0을 대입 ``` ![클라우드스터딩-자바-배열-생성-후-대입](https://i.imgur.com/GVbQNGk.gif) ## 배열 사용하기 --- 이렇게 생성된 배열은 변수명과 인덱스(순서)를 통해 값을 가져오거나 변경할 수 있습니다. ``` # 배열 값 가져오기 System.out.printf("%.1f", arr2[0]); // 1 System.out.printf("%.1f", arr2[3]); // 0 # 배열 값 변경하기 arr2[1] += 7; // 1번 인덱스에 7을 더함 System.out.printf("%.1f", arr2[1]); // 10 ``` > 인덱스(순서)의 시작은 `0`임을 주의하세요. ## 요약 --- 1. 배열이란, 여러 변수를 하나로 묶은 자료형이다. 2. 배열은 인덱스가 존재하고, 모두 같은 타입이다. 3. 배열을 만드는 방법은 크게 두 가지로 나뉜다. - 생성과 동시에 초기화 - 배열 생성 후 값 대입 4. 배열의 요소는 인덱스를 통해 가져오거나 변경할 수 있다. 5. 배열의 인덱스는 0부터 시작한다. ## 확인하기 --- <div class="interact_responsive_padding" style="padding:100% 0 0 0;position:relative;margin-bottom:5px;"><div class="interact_responsive_wrapper" style="height:100%;left:0;position:absolute;top:0;width:100%;"><iframe id="interactApp5cc6594f3aa2410014c34536" width="100%" height="100%" style="border:none;max-width:100%;margin:0;" allowTransparency="true" frameborder="0" src="https://quiz.tryinteract.com/#/5cc6594f3aa2410014c34536/q/1?method=iframe"></iframe></div></div>