본문 바로가기
Back-End/Java

[Java] 반복문 - while / do-while문

by nanee_ 2021. 8. 20.
728x90
반응형
SMALL

반복문 (while)

조건식에 부합(true)하는 동안 지정된 수행문을 반복적으로 수행하는 제어문이다.

조건이 맞지 않으면(false) 반복하던 수행을 멈추게 된다. (while문을 빠져나온다)

 

 

while문

- 기본형식

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

조건식이 true일 때, 수행문1은 계속 반복하게 된다.

 

 

- 1~10까지 출력

int num = 1;
while(num <= 10){
	System.out.println("현재 값: " + num);
    	num++;
}

 

 

 

만약 n++; 을 빠뜨렸다면,  위의 while문은 1이 계속 무한으로 반복되어 출력될 것이다.

for문에는 선언식에 증감값을 입력하지만, while문은 따로 입력하지 않으면 위와 같이 증감값이 필요한 경우에는 무한으로 반복되기 때문에 실행문이 끝나고 n을 증감 해줘야 조건문에 부합하는 범위에만 반복하게 된다.

 

 

 

- 1~10 까지 더한 값 출력하기

int num = 1;
int sum = 0; // 합을 담을 변수

while(num <= 10){
	sum += num;
    	num++;
}
System.out.println("결과 값: " + sum);

 

 

sum이라는 변수에 합을 담아서 결과값으로 출력을 하려고 한다.

sum 변수를 선언해주고, while문에 1~10까지 반복하라는 조건문을 작성했다. (num <= 10)

 

while문 안에서 sum 에 num을 누적해서 더해주고, num은 1씩 증가하는 반복을 1~10 동안 반복한다.

 

 

do-while문

do문은 처음 실행을 할 때 조건에 상관없이 1번은 무조건 실행하는 문장이다.

실행 한 뒤, while문의 조건에 부합(true)할 때 까지 반복한다.

 

- 기본형식

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

 

1. do문의 실행문을 실행한다.

2. 조건식에 부합하는지 검사한다.

3. true 이면, do문의 실행문을 실행한다.

   false 이면, do-while문을 빠져나온다.

 

 

- 입력받은 숫자들을 누적한 값을 출력하기

public class DoWhileTest{
	public static void main(String[] args){
          Scanner sc = new Scanner(System.in);
          int input;
          int sum = 0;

          System.out.println("덧셈할 정수를 입력하세요 : ");

          // input 값이 0이 아니면 계속 입력 받음
          do{
              input = sc.nextInt();
              sum += input;
          }while(input != 0);  // 0을 입력하면 do-while문을 빠져나옴
          
          System.out.println("결과값 : " + sum);
    }
}

 

 

 

 

 

728x90
반응형
LIST