Download presentation
Presentation is loading. Please wait.
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 문 키보드에서 입력받은 정수가 홀수인지 짝수인지를 말해주는 프로그램을 작성하여 보자.
10
예제: 두수 중 큰 수 출력하기 IF-ELSE 문
사용자로부터 두 개의 정수를 입력받아서 둘 중에 큰 수를 출력하는 프로그램을 작성하여 보자.
12
예제: 성과급 계산 IF-ELSE 문 사원이 실적 목표를 달성하였을 경우에는 실적 목표를 초과한 금액의10%를 성과급으로 받는 프로그램을 작성하여 보자. 실적목표 : 1000만원
14
Dangling Else 문제(p.108) if() else else
15
LAB: 성적에 따라 학점 결정하기 다중IF문
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
예제: 정수-> 한글 사용자가 값을 입력하면 화면에 “하나”, “둘”과 같이 출력하는 코드를 작성하여 보자.
24
만약 break 문이 없다면
25
예제: 성적->학점 사용자가 자신의 성적을 입력하면 성적을 학점으로 변환하여 출력해주는 프로그램
26
SOLUTION
27
SOLUTION
28
switch 문에 문자열 사용 JDK 7부터는 switch 문의 제어식으로 String 객체를 사용할 수 있다.
예제: 월의 이름을 영어로 받아서, 월을 반환하는 프로그램을 작성
29
SOLUTION {
30
SOLUTION
31
LAB: 월의 일수 출력하기
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
예제: 구구단 출력
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)
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
예제 : 사각형 모양 출력하기
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: 숫자 추측 게임
71
실습 p.146 도전
72
LAB: 로또 확률 계산
73
SOLUTION
74
Q & A
Similar presentations