36
반복과 배열 [ 단원 04 ]

단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

반복과 배열[ 단원 04 ]

Page 2: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

학습목표❖ 자바의 실행흐름에 대해 이해하고 설명할 수 있다.

▪ 순차적 실행▪ 제어문, 조건문, 반복문

❖ 다음의 다양한 반복문을 이해하고 프로그래밍에 활용할 수 있다.▪ • while, • do while, • for▪ Break, continue

❖ 배열의 필요성과 선언과 생성에 대하여 이해하고 설명할 수 있다.▪ 자료형, 배열이름, 배열크기를 이용한 배열선언과 생성▪ 생성된 배열에서 원하는 원소의 참조▪ 배열선언 시 동시에 초기 값 지정 방법▪ 배열 복사를 위한 System.arraycopy()▪ 이차원 이상의 다차원 배열, 래기드 배열▪ 배열의 순차적 참조를 위한 for each

2

Page 3: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열 3

1. 제어문 개요

Page 4: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

다양한 제어문❖ 제어문

▪ 실행 흐름을 변형하여 조건에 따라 실행▪ 지정된 블록을 반복▪ 다른 곳으로 이동하여 실행

4

Section 1 제어문 개요 p110

Page 5: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열 5

2. 반복문

Page 6: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

간편한 while 구문❖ while (조건식) 반복문;

6

Section 2 반복문 p112

Page 7: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

반복조건이 나중에 있는 do while❖ do 반복문; while (조건식);

7

Section 2 반복문

Page 8: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

반복 횟수 제어에 적합한 for 문❖ 반복문

▪ for (init; cond; inc) stmt;

❖ 변수 sum에는 1에서 10까지의 합이 저장

8

Section 2 반복문

Page 9: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

실습예제 4-3

9

Section 2 반복문

Page 10: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

중첩된 반복문❖ 외부반복과 내부반복

10

Section 2 반복문

Page 11: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

중첩된 반복문 실습 예제❖ 4-4

▪ 구구단

• 2*1 = 2 2*2 = 4 2*3 = 6 2*4 = 8 2*5 = 10 • 3*1 = 3 3*2 = 6 3*3 = 9 3*4 = 12 3*5 = 15 • 4*1 = 4 4*2 = 8 4*3 = 12 4*4 = 16 4*5 = 20 • 5*1 = 5 5*2 = 10 5*3 = 15 5*4 = 20 5*5 = 25

11

package control.loop;   public class Nestedfor {

public static void main(String[] args) { int i, j; for (i = 2; i <= 9; i++) {

for (j = 1; j <= 5; j++) System.out.printf("%d*%d = %2d ", i, j, i*j);

System.out.println(); }

} }

Section 2 반복문

Page 12: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

for와 while 문의 비교❖ for문은 while문으로 대체 가능

12

Section 2 반복문

Page 13: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

반복을 종료하는 break❖ 반복 내부에서 강제로 반복을 종료

▪ break 문을 사용

13

Section 2 반복문

Page 14: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

반복을 계속하는 continue❖ continue 문

▪ 반목몸체의 나머지 부분을 실행하지 않고 다음 반복을 계속 유지

14

Section 2 반복문

Page 15: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

실습예제 ❖ 4-6

▪ 1에서 10까지 수 중 3의 배수가 아닌 것만 출력하는 for 문

15

Section 2 반복문

Page 16: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열 16

3. 배열

Page 17: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열❖ 동일한 자료형을 정해진 수만큼 저장 처리하는 객체(object)

17

Section 3 배열 p120

Page 18: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 변수 선언과 배열 객체 생성❖ 배열 선언

❖ 배열 생성

18

Section 3 배열

Page 19: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 선언과 생성을 한 문장으로

19

Section 3 배열

Page 20: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 원소 참조❖ 배열첨자

▪ 유효범위를 벗어나면 실행 시 [배열첨자 범위초과 예외] ArrayIndexOutOfBoundsException가 발생

• 즉 첨자는 0에서 [배열 크기-1]까지 유효

20

Section 3 배열

Page 21: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 원소 참조 예외 예제❖ 4-8

21

Section 3 배열

Page 22: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 초기화❖ 배열 선언 초기화 구문

▪ 배열 선언을 하면서 대입연산자를 이용▪ 중괄호 사이에 여러 원소 값을 쉼표로 구분하여 기술하는 방법

22

Section 3 배열

Page 23: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 선언 이후의 초기화와 다른 배열의 대입

23

Section 3 배열

Page 24: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 복사❖ System.arraycopy()

24

Section 3 배열

Page 25: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열을 위한 크기와 반복문 for each❖ 배열크기 length

❖ 배열 원소 출력을 위한 for each▪ 배열 원소 순서로 순차적 처리▪ 각각의 반복 시 변수 vaule에 적당한 원소 값이 저장되어 수행

25

Section 3 배열

Page 26: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 예제❖ 4-11

▪ 1 2 3 4 5 6 7 ▪ 10 5 6 7 50 60 70 80

26

package array.basic;   public class Arraycopy {

public static void main(String[] args) { int[] copyFrom = {1, 2, 3, 4, 5, 6, 7}; int[] copyTo = {10, 20, 30, 40, 50, 60, 70, 80}; System.arraycopy(copyFrom, 4, copyTo, 1, 3); for (int i = 0; i < copyFrom.length; i++)

System.out.print(copyFrom[i] + " "); System.out.println(); for (int value : copyTo)

System.out.print(value + " "); }

}

Section 3 배열

Page 27: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

이차원 배열❖ 테이블 형태의 구조를 표현

▪ 이차원 배열은 행(row)과 열(column)의 구조로 표현

27

Section 3 배열

Page 28: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

이차원 배열 원소 참조❖ 실습예제 4-12

28

Section 3 배열

Page 29: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

래기드 배열❖ 행마다 열의 수가 다른 들쭉날쭉한 모양의 배열

29

Section 3 배열

Page 30: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

이차원 배열 초기화

30

Section 3 배열

Page 31: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

문자열을 위한 배열 ❖ 일차원 배열

❖ 이차원 배열

31

Section 3 배열

Page 32: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

배열 크기 지정❖ 자바에서 배열 크기를 상수뿐 아니라 변수로도 지정이 가능

▪ 배열 크기를 프로그램 실행 중에 표준입력으로 지정 가능▪ 한 번 할당된 배열 객체의 원소 수를 늘리거나 줄이는 것은 불가능

32

Section 3 배열

Page 33: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

명령행 인자❖ 명령행 인자(command line arguments)

▪ 프로그램 실행 시 인자(command)를 받아 처리▪ 메소드 main(String[] args)의 변수 args에 자료가 전달

• 프로그램 Command를 실행하면서 뒤에 여러 개의 인자를 입력하면 문자열 배열 args에 저장되어 프로그램에 전달

▪ 명령행 인자는 쉼표나 탭과 같은 분리자(separator)로 구분▪ 정수나 실수의 숫자 형태도 모두 문자열(string)로 전달

33

Section 3 배열

Page 34: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

단원 04 반복과 배열

실습예제❖ 4-16

34

Section 3 배열

Page 35: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

35

Page 36: 단원 04 ] 반복과 배열ivis.kr/images/4/42/2017_NA_4장.pdf · 2018. 11. 12. · 단원 04 반복과 배열 학습목표 자바의 실행흐름에 대해 이해하고 설명할

[ Add your company slogan ]

Thank You !

36