자바, 입문하기!

자바, 입문하기!

프로그래밍 기초, 입문자를 위한 자바!

08 배열

# 배열(arrays) 관련 데이터를 하나로 묶는 방법! ## 실생활 배열들 --- 책을 1권, 2권,… 순서로 정리하면 편리하다. 한 학급의 학생 이름도 번호를 붙이면 관리에 좋다. 프로그램도 마찬가지다. 관련 데이터를 순서대로 관리하면 좋다. ![클라우드스터딩-자바-배열-들어가며](https://i.imgur.com/dYHOPNY.png) ## 배열이란? --- #### 정의 여러 값을 하나의 변수로 묶은 것. 이를 배열(arrays)이라 한다. 아래 코드는 9명의 학생 성적을 int타입 배열에 담은 예이다. ``` int[] scores = { 65, 74, 23, 75, 68, 96, 88, 98, 54 }; ``` #### 특징 배열은 인덱스(index)라는 순서를 가지며, 모든 값의 타입이 같다. ![클라우드스터딩-자바-배열-특징](https://i.imgur.com/GNL2OTV.png) ## 배열 사용법 --- #### 생성하기 배열은 보통 두 가지 방법으로 만든다. ``` // 1) 생성과 동시에 초기화 double[] arr = { 1.5, 3.2, 4.3, 0.9 }; // double 형 배열 생성 String[] names = { "Tom", "Kate", "Paul", "James" }; // String 배열 생성 // 2) 공간 할당 후 값 대입 int[] ids = new int[3]; // int형 배열 ids 공간 할당 ids[0] = 100; // 값 대입 ids[1] = 200; // 값 대입 ids[2] = 300; // 값 대입 ``` #### 배열 요소 사용법 배열의 요소는 인덱스를 통해 사용한다. ``` // 1) 배열 값 읽기(read) int[] scores = {99, 88, 77}; System.out.println(scores[0]); // 99 System.out.println(scores[1]); // 88 System.out.println(scores[2]); // 77 // 2) 배열 값 변경(write) System.out.println(scores[0]); // 99 scores[0] = 0; // 0번 인덱스 값 변경 System.out.println(scores[0]); // 0 ``` ## 배열의 활용 --- #### 반복문과 함께 사용 배열을 보통 반복문과 함께 활용된다. ``` // 배열의 총합 구하기, 노가다 버전 int[] arr = { 7, 9, 31, 2, 6 }; int sum = arr[0]; sum += arr[1]; sum += arr[2]; sum += arr[3]; sum += arr[4]; // 반복문을 사용하여 개선 sum = 0; for (int i = 0; i < 5; i++) { sum += arr[i] } ``` #### length 키워드 `length` 키워드로 배열의 길이를 알 수 있다. ``` String[] names = {"Kim", "Lee", "Park", "Choi", "Oh", "Jo"}; int[] mathScores = {82, 76, 100, 92, 68, 96}; for (int i = 0; i < names.length; i++) { System.out.printf("%s : %d\n", names[i], mathScores[i]); } ``` ## 요약 --- ![클라우드스터딩-자바-배열-요약](https://i.imgur.com/xev9Ruk.png) - 배열이란 데이터의 묶음이다. - 배열은 인덱스가 있고, 모두 같은 타입이다. - 인덱스는 0부터 시작한다. - length 키워드로 배열의 길이를 얻을 수 있다. - 배열은 보통 반복문과 함께 활용된다. ## 확인하기 --- <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> ## 도서구매 <a href="http://www.yes24.com/Product/Goods/104740689"><img src="http://image.yes24.com/goods/104740689/XL" width="50%" /></a>

Challenge

개념 실습! 학습 내용을 진짜 내 것으로 만들기!