형식
<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 |