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 |