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
예제: 짝수, 홀수 구별하기 키보드에서 입력받은 정수가 홀수인지 짝수인지를 말해주는 프로그램을 작성하여 보자.
10
예제: 두수 중 큰 수 출력하기 사용자로부터 두 개의 정수를 입력받아서 둘 중에 큰 수를 출력하는 프로그램을 작성하여 보자.
12
예제: 성과급 계산 하나의 예로 사원이 실적 목표를 달성하였을 경우에는 실적 목표를 초과한 금액의10%를 성과급으로 받는 프로그램을 작성하여 보자.
14
LAB: 성적에 따라 학점 결정하기
16
LAB: 인사말 출력하기
17
SOLUTION
18
switch 문 만약 가능한 실행 경로가 여러 개인 경우에는 switch 문을 사용
19
switch 선택 구조
20
예제: 정수-> 한글 사용자가 값을 입력하면 화면에 “하나”, “둘”과 같이 출력하는 코드를 작성하여 보자.
22
만약 break 문이 없다면
23
예제: 성적->학점 사용자가 자신의 성적을 입력하면 성적을 학점으로 변환하여 출력해주는 프로그램
24
SOLUTION
25
SOLUTION
26
switch 문에 문자열 사용 JDK 7부터는 switch 문의 제어식으로 String 객체를 사용할 수 있다.
예제: 월의 이름을 영어로 받아서, 월을 반환하는 프로그램을 작성
27
SOLUTION
28
SOLUTION
29
LAB: 월의 일수 출력하기
31
반복문 Q) 반복 구조는 왜 필요한가? A) 같은 처리 과정을 되풀이하는 것이 필요하기 때문이다. 학생 30명의 평균 성적을 구하려면 같은 과정을 30번 반복하여야 한다.
32
반복문의 종류
33
while 문 주어진 조건이 만족되는 동안 문장들을 반복 실행한다. while( 조건식 ) 문장;
34
while 문의 구조
35
예제: 환영 메시지 출력
36
예제: 0부터 9까지 출력하기
37
예제: 구구단 출력
39
예제: ( ) 계산하기
41
do-while 문
42
do-while 문의 예 DoWhile1
43
예제: 정확한 입력받기
45
LAB: 최대 공약수 찾기
47
for 루프 정해진 횟수만큼 반복하는 구조
48
for 문의 구조
49
예제: 0부터 4까지 출력하기
50
예제: 정수의 합 계산하기
51
예제: 팩토리얼 계산하기
52
LAB: 약수 계산하기
53
SOLUTION
54
LAB: 난수의 합 계산하기
55
SOLUTION
56
중첩 반복문
57
예제 : 사각형 모양 출력하기
59
break 문
60
continue 문
61
LAB: 숫자 추측 게임
63
LAB: 로또 확률 계산 45 6 을 계산한다.
64
SOLUTION
65
LAB: 파이 구하기 파이를 계산하는 가장 고전적인 방법은 Gregory-Leibniz 무한 수열을 이용하는 것
66
실행 결과 반복횟수:100000 Pi = 계속하려면 아무 키나 누르십시오 . . .
67
알고리즘 사용자로부터 반복횟수 loop_count를 입력받는다. 분자 = 4.0; 분모 = 1.0; sum = 0.0;
while(loop_count > 0) sum = sum + 분자 / 분모; 분자 = -1.0* 분자; 분모 = 분모 + 2.0; --loop_count; sum을 출력한다.
68
SOURCE import java.util.Scanner; public class Triangle {
public static void main(String[] args) { double divisor, divident, sum; int loop_count; Scanner sc = new Scanner(System.in); divisor = 1.0; divident = 4.0; sum = 0.0; System.out.print("반복횟수:"); loop_count = sc.nextInt(); while (loop_count > 0) { sum = sum + divident / divisor; divident = -1.0 * divident; divisor = divisor + 2; loop_count--; } System.out.println("Pi = " + sum);
69
Q & A
Similar presentations