Presentation is loading. Please wait.

Presentation is loading. Please wait.

어서와 Java는 처음이지! 제3장선택과 반복.

Similar presentations


Presentation on theme: "어서와 Java는 처음이지! 제3장선택과 반복."— Presentation transcript:

1 어서와 Java는 처음이지! 제3장선택과 반복

2 3가지의 제어 구조

3 복잡한 프로그램

4 조건문 조건에 따라서 여러 개의 실행 경로 가운데 하나를 선택 문장이 실행되는 순서에 영향을 주는 문장
조건에 따라서 여러 개의 같은 처리를 반복

5 일상 생활에서의 조건문의 예 만약 비가 오지 않으면 테니스를 친다. 만약 결석이 1/3이상이면 F학점을 받는다.
만약 시간이 없는 경우에는 택시를 탄다. 만약 날씨가 좋고 공휴일이면 공원에 산책을 간다. 점수가 60점 이상이면 합격이고 그렇지 않으면 불합격이다. 조건문은 프로그램의 흐름을 변경합니다.

6 if-else 문 if( 조건식 ) 문장1; else 문장2; 날씨가 좋은가? 테니스를 친다. 공부를 한다. 거짓 참
      문장1; else         문장2; 조건식이 참이면 실행된다. 조건식이 거짓이면 실행된다.

7 if-else 선택 구조

8 예제: 짝수, 홀수 구별하기 IF-ELSE 문 키보드에서 입력받은 정수가 홀수인지 짝수인지를 말해주는 프로그램을 작성하여 보자.

9

10 예제: 두수 중 큰 수 출력하기 IF-ELSE 문
사용자로부터 두 개의 정수를 입력받아서 둘 중에 큰 수를 출력하는 프로그램을 작성하여 보자.

11

12 예제: 성과급 계산 IF-ELSE 문 사원이 실적 목표를 달성하였을 경우에는 실적 목표를 초과한 금액의10%를 성과급으로 받는 프로그램을 작성하여 보자. 실적목표 : 1000만원

13

14 Dangling Else 문제(p.108) if() else else 

15 LAB: 성적에 따라 학점 결정하기 다중IF문

16

17 LAB: 인사말 출력하기 다중IF문 p.111 java.time.LocalDateTime

18 Date time = new Date(); // java.util.Date 현재시간, 날짜
time Thu Jan 01 09:12:18 CET 1970; int hours = time.getHours(); int minutes = time.getMinutes(); int seconds = time.getSeconds(); hours = 9 minutes = 12 seconds = 18

19 SOLUTION

20 switch 문 만약 가능한 실행 경로가 여러 개인 경우에는 switch 문을 사용

21 switch 선택 구조 default문은 생략 가능

22 예제: 정수-> 한글 사용자가 값을 입력하면 화면에 “하나”, “둘”과 같이 출력하는 코드를 작성하여 보자.

23

24 만약 break 문이 없다면

25 예제: 성적->학점 사용자가 자신의 성적을 입력하면 성적을 학점으로 변환하여 출력해주는 프로그램

26 SOLUTION

27 SOLUTION

28 switch 문에 문자열 사용 JDK 7부터는 switch 문의 제어식으로 String 객체를 사용할 수 있다.
예제: 월의 이름을 영어로 받아서, 월을 반환하는 프로그램을 작성

29 SOLUTION {

30 SOLUTION

31 LAB: 월의 일수 출력하기

32

33 실습 : 해당 월(月)의 일수계산 시행결과 몇 년도 입니까? 2012 일수를 알고 싶은 달을 입력하세요: 3
33 시행결과 몇 년도 입니까? 2012 일수를 알고 싶은 달을 입력하세요: 3 2012년 3월의 일수는 31일입니다. 몇 년도 입니까? 2016 일수를 알고 싶은 달을 입력하세요: 2 2016년 2월의 일수는 29일입니다. 도전!!!!!

34 실습 윤년이면 2월  29일 평년이면 2월  28일…

35 실습 : 사칙연산 사칙연산을 입력받아 실행결과를 출력하는 자바 프로그램을 작성하고자 한다. 이미 연산자는 +,-,*,/의 4가지로 하고 피연산자는 모두 실수이며 다음과 같이 피연산자는 빈칸으로 분리하여 입력하는 것으로 한다. – * / 3 실행 예: 수식을 입력하세요> 연산결과 : 35.3

36 // Scanner 클래스를 사용하기 위한 import 문
public class Arithmetic { public static void main(String[] args) { Scanner scanner = // Scanner 객체 생성 System.out.print("식을 입력하세요>>"); double op1 = // 첫 번째 피연산자 입력 String operator = // 연산자 스트링 입력 double op2 = // 두 번째 피연산자 입력 double result = 0; switch( ) { case "+" : result = op1 + op2; break; case "-" : result = op1 - op2; break; case "*" : case "/" : { // 나누는 수가 0이면 System.out.println("0으로 나눌 수 없습니다."); return; //프로그램 종료 } result = op1 / op2; break; default: System.out.println("연산 기호가 잘못되었습니다."); // 연산 결과 출력

37 반복문 Q) 반복 구조는 왜 필요한가? A) 같은 처리 과정을 되풀이하는 것이 필요하기 때문이다. 학생 30명의 평균 성적을 구하려면 같은 과정을 30번 반복하여야 한다.

38 반복문의 종류

39 while 문 주어진 조건이 만족되는 동안 문장들을 반복 실행한다. while( 조건식 )        문장;

40 while 문의 구조

41 예제: 환영 메시지 출력

42 예제: 0부터 9까지 출력하기

43 예제: 구구단 출력

44

45 예제: ( ) 계산하기

46 1+2+…+10

47 do-while 문

48 do-while 문의 예 DoWhile1 i 변수 값이 10으로 3보다 작지 않지만 do while 문이므로 최소 한번은 실행

49 예제: 정확한 입력받기 Do-while 문의 사용 예 : 올바른 값이 입력될 때 까지 입력을 반복함.

50 Do-While 문 사례

51 LAB: 최대 공약수 찾기 GCD(Greatest Common Divisor)

52

53 for 루프 정해진 횟수만큼 반복하는 구조

54 for 문의 구조

55 예제: 0부터 4까지 출력하기

56 예제: 정수의 합 계산하기

57 예제: 팩토리얼 계산하기

58 LAB: 약수 계산하기

59 SOLUTION

60 LAB: 난수의 합 계산하기

61 Random 클래스 java.util.Random

62 SOLUTION Random rand = new Random(System.currentTimeMillis());
// seed값을 배정하여 생성

63 중첩 반복문

64 예제 : 사각형 모양 출력하기

65

66 예제 : 구구단(p.140) 66 2중 중첩된 for문을 사용하여 구구단을 출력하는 프로그램을 작성하시오. 한 줄에 한 단씩 출력한다. public class NestedLoop { public static void main (String[] args) { int i, j; for (i = 1;i < 10; i++,System.out.println()) { for (j = 1;j < 10; j++,System.out.print('\t')) { System.out.print(i + "*" + j + "=" + i*j); } 1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18 3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27 4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 66

67 break 문

68 continue 문

69 LAB: 숫자 추측 게임

70

71 실습 p.146 도전

72 LAB: 로또 확률 계산

73 SOLUTION

74 Q & A


Download ppt "어서와 Java는 처음이지! 제3장선택과 반복."

Similar presentations


Ads by Google