Language/JAVA

[JAVA] while 문

IT수정 2024. 9. 3. 21:03

for 문이 정해진 횟수만큼 반복한다면, while 문은 조건식이 true일 경우에 계속 반복하고, false가 되면 반복을 멈추고 while 문을 종료한다.

 

while 문

while(조건식) {
	실행문;
    }

 

while 문이 실행될 때 조건식을 평가한다. 평가 결과가 true면 실행문을 실행한다. 조건식이 false가 되면 while문을 종료한다.

 

while 문 예제 : 1부터 100까지 합 구하기

public class Sum {
	public static main(String[] args) {
    	int sum = 0;
        int i = 1;
        
        while(i <= 100) {
        sum += i;
        i++;
        }
        
        System.out.println(sum);
      }
    }

 

실행 결과

5050

 

조건식에 true를 사용하면 무한 반복하게 된다. 이 경우, 언젠가 while 문을 빠져나가기 위한 코드가 필요하다.

 

while 문 무한 루프 예제 : 사용자 입력을 받아 종료하는 무한 루프

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.print("종료하려면 'exit'을 입력하세요: ");
            String input = scanner.nextLine();

            if (input.equals("exit")) {
                System.out.println("프로그램을 종료합니다.");
                break;  // 루프를 종료하는 명령
            }
        }

        scanner.close();
    }
}

 

do-while 문

do {
	실행문;
    } while (조건식);

 

do-while 문은 조건식에 의해 반복실행한다는 점은 while문과 동일하다. while 문은 시작할 때부터 조건식을 평가하여 블록 내부를 실행할지 결정하지만, do-while 문은 블록 내부를 먼저 실행시키고, 실행 결과에 따라서 반복 실행을 계속할지 결정한다. 무조건 한 번은 실행한다는 특징이 있다. 작성 시 주의할 점은 while() 뒤에 반드시 세미콜론(;)을 붙여야 한다.

 

do-while 문 예제 : 숫자 맞추기

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int numberToGuess = 7; // 맞춰야 할 숫자
        int guess;

        do {
            System.out.print("숫자를 맞춰보세요 (1~10): ");
            guess = scanner.nextInt();

            if (guess < numberToGuess) {
                System.out.println("너무 낮습니다.");
            } else if (guess > numberToGuess) {
                System.out.println("너무 높습니다.");
            } else {
                System.out.println("정답입니다!");
            }
        } while (guess != numberToGuess);

        scanner.close();
    }
}

 

'Language > JAVA' 카테고리의 다른 글

[JAVA] 참조 타입  (0) 2024.09.03
[JAVA] break 문과 continue 문  (0) 2024.09.03
[JAVA] for 문  (0) 2024.09.03
[JAVA] switch 문  (7) 2024.09.03
[JAVA] Math.random 메소드  (0) 2024.09.03