본문 바로가기
JAVA

[제어문] 반복문

by amoomar 2021. 12. 22.
반응형

 

반목문인 for, while, do while, 무한루프에 대해 포스팅하였다.

 

 


 

1. 반복문의 종류와 예시

 

1) 반복문의 종류 

  • while문, do while문

: 반복되는 수행의 횟수를 모를때. (ex. 무한반복, 영원히, 계속)

 

  • for문

: 반복 수행 횟수를 분명히 알때. (ex. N번, X회, a~b까지의 범위를 수행할때)

 

 

 


 

 

2) 반복문 사용범위

  • 학생이 30명 있고, 출석부를 부를때 -> for문
  • 자판기에서 콜라를 뽑을때까지 동전을 넣는다면 -> while
  • 은행 ARS로 사용자가 올바른 번호를 누를때까지 -> while
  • 60점이 넘을때까지 재시험을 본다면 -> while

 


 

 

2. while

 

1) 선언과 사용

//while 선언

while (조건식) {
	조건식이 True일때 계속 수행되는 공간
}

while의 선언 예시

 

 

* 디버깅표를 이용한 풀이 *

i          i<3

-------------

0          T

1          T

2          T

3          F  -> 이때 while문을 탈출한다. 따라서 i=3

 

 


 

 

2) while(true) : 무한루프

: while문은 최소 수행 횟수가 0번이며, 최대 수행횟수는 무한이다. 무한 루프문은 반드시 "종료조건"을 필요로 한다.

 

 

무한루프문의 선언
if를 사용하여 종료 조건을 충족하는 방법

 


 

 

3) 예제

 

Q. 각 i의 값으로 출력될 알맞은 답은?

각 i는 얼마로 조회되는가
위에 대한 디버깅표 풀이

 

 

Q. 두 정수를 입력받고, 작은 정수부터 큰 정수로 정렬하면서 그 사이의 값까지 출력하기

(ex. 정수 1입력 : 4 , 정수 2입력: 7 -> 4 5 6 7)

정수1&amp;gt;정수2 일때는 교환 알고리즘을 이용하여 올바르게 정렬할 수 있다.

이때 교환 알고리즘은 코드 재사용을 목적으로 한다.

temp(교환 알고리즘)의 값을 나타낸 디버깅표

 

 


 

 

3. do while

 

: while문은 최소 반복수가 0인 반면, 무한반복문과 do while의 최소 반복수는 1이다. 즉, 사용자가 입력하는 값을 먼저 보고 반복할것인지 말것인지 확인하기위한 경우에는 do while 혹은 while(true)가 적합하다. 

 

1) 선언과 사용

do {
	실행할 문장(조건식이 참일때 탈출)
} while(조건식);

 

Q. 8~20세는 요금 1,000원 / 20~65세는 요금 2,000원 / 그 외에는 0원

 


 

2) 예제

 

Q. 잘못 입력하면 사용자에게 알려주고 다시 입력 할 수 있도록 한다. 정상 입력시 그에 맞는 값을 출력한다.

TIP. break;를 사용하는 즉시 반복문을 빠져나온다. / continue; 를 사용하는 즉시 반복문의 처음으로 되돌아간다.

 

 

Q. 3개의 양수를 입력 받고 그 중 가장 작은 양수를 출력하세요

본인 풀이

 

Q. 세가지 양수를 입력 받고 가장 큰 수를 알려준다. 추가로 잘못 입력할 경우 잘못 됐다고 알려주고 다시 입력 받기.

강사님 풀이

 


 

 

 

4. for

 

1) 선언과 사용

for(초기값; 조건식; 증감식){
	실행할 문장
}

 

for문의 설명과 응용하여 홀수를 출력하는 코드

 


 

 

2) 예제

 

Q1. 입력한 수까지의 홀수만 출력

 

 

Q2. 두 정수를 입력받고 작은 수부터 큰 수 사이의 값을 모두 출력

재사용을 위해 교환 알고리즘으로 코드 간소화

 

반응형

'JAVA' 카테고리의 다른 글

[알고리즘] 선택정렬  (0) 2021.12.26
[반복문] 랜덤과 중복제거  (0) 2021.12.23
[제어문] 과제_up, down game  (0) 2021.12.23
[제어문] 연산자 & 조건문 & 입력함수  (0) 2021.12.21
[변수] 출력코드와 변수  (0) 2021.12.21