JAVA

while /do - while 반복문

yujin0517 2021. 6. 29. 22:09

형식

 

<while 반복문>

-> 조건식이 참인 동안은  while문이 계속 반복됨.

while( 조건식 ) {    
	수행문1...;	
}
	수행문2...;

* JAVA에서는 while문의 조건식에 1을 넣지 못하고, true는 가능함. 

 

* 간단한 예제 : num변수가 조건식에 만족할 때까지 반복문이 실행된 횟수 구하기. 

int num = 1;
int count = 0;
while(num < 5) {
	count++;
	num++;
}
System.out.println("count : " + count);

 

<do - while 반복문>

-> 조건식이 참인지 거짓인지 상관없이 수행문(do괄호 안 수행문)이 한 번은 실행됨.

do {
	수행문1...;
    
} while( 조건식 );

수행문2...;

* while문과 do - while문의 차이점

while문은 조건식이 참을 경우에만 수행문을 실행시키고,

do- while문은 일단 do괄호에 있는 수행문을 한 번 실행시킨 뒤, while문의 조건식의 참, 거짓 여부에 따라 다른 수행문을 실행시킴. 

 

*간단한 예제 : num변수를 1부터 시작하여 5까지 1씩 증가시키며 출력하기.

int num = 1;
do {
	System.out.println("num : " + num);
	num++;
} while(num < 5);
System.out.println("num : " + num);

 

백준 코드 작성

 

* 백준 10952번 : A + B

Scanner sc  = new Scanner(System.in);
while(true) {
	int A = sc.nextInt();
	int B = sc.nextInt();
	if (A + B == 0)  //A+B가 0일 경우 break로 인해 반복문이 종료됨.
		break;
    System.out.println(A + B);
} //A+B의 값이 0이 아닐 경우에만 반복문이 계속 실행됨. 
sc.close();

- break는 주로 반복문을 종료할 때 사용됨.

 

 

* 백준 1110번 : 더하기 사이클

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		sc.close();
		
		int count = 0;
		int copy = num;

		while (true) {
			num = ((num%10)*10)+(((num/10)+(num%10))%10);
			count++;
			
			if(copy == num)
				break;
		}
		System.out.println(count);
	}
}

예를 들어, 55를 입력했을 때

=> 5 + 5 = 10 -> '50' -> 5 + 0 = 5 -> '05' -> 0 + 5 = 5 -> '55'

이렇게 입력했던 숫자와 같은 숫자가 나올 경우 while문을 종료하고, 반복한 횟수를 카운트하는 코드임.

 

다음 글에서는 for 반복문에 대해 설명하겠습니다.

감사합니다!

 

2021.06.29

'JAVA' 카테고리의 다른 글

break / continue / switch - case문  (0) 2021.07.01
for 반복문  (0) 2021.06.30
if - else 반복문 문제 풀이  (0) 2021.06.29
if / if - else 조건문  (0) 2021.06.28
여러 가지 연산자  (0) 2021.06.26