자바(Java) while 반복문 사용하기

자바(JAVA) 2024
반응형

“while” 반복문은 특정 조건이 만족되는 동안 코드 블록을 반복적으로 실행하는 제어 구조입니다. 조건이 거짓으로 평가될 때까지 반복 실행되며, 조건이 참인 동안 계속해서 코드 블록을 수행합니다.

 


  

◎ 구문

 

while (조건) {
    // 코드 블록
}
 
l  조건”: 반복 여부를 결정하는 논리 표현식입니다.
l  코드 블록”: 반복적으로 실행될 문장들의 집합입니다.

 

 

◎ 예제 1. 숫자 1부터 10까지 출력하기

 

“counter” 변수는 1부터 시작하여 1씩 증가하며, 10보다 작거나 같을 때까지 반복합니다. “System.out.println(counter)”: “counter” 변수의 현재 값을 출력합니다. 

int counter = 1;
while (counter <= 10) {
System.out.println(counter);
counter++;
}
[출력]
1
2
3
...
9
10

 

 

◎ 예제 2. 사용자 입력값이 0이 될 때까지 숫자를 더하기

 

“while (true)”무한 루프를 돌면서 사용자 입력을 반복적으로 받습니다. 그리고 사용자가 0을 입력하면 break 를 이용해서 루프를 벗어납니다. “Integer.parseInt(System.console().readLine())”는 사용자가 입력한 문자열을 정수형으로 변환해서 숫자를 누적하는데 사용합니다. 

int sum = 0;
int number;
while (true) {
System.out.print("숫자를 입력하세요 (0 to quit): ");
number = Integer.parseInt(System.console().readLine());
if (number == 0) {
break;
}
sum += number;
}
System.out.println("합계: " + sum);
[출력]
“숫자를 입력하세요 (0 to quit): 5
숫자를 입력하세요 (0 to quit): 10
숫자를 입력하세요 (0 to quit): 0
합계: 15

 

 

◎ 예제 3. 랜덤 숫자 게임

 

Math.random() 함수를 이용해 1부터 100 사이의 랜덤 숫자를 만듭니다. 그리고 사용자 입력을 맞아서 랜덤으로 만들어진 숫자를 맞출 때까지 “while (guess != randomNumber)”코드를 이용해 반복합니다. 

int randomNumber = (int) (Math.random() * 100) + 1;
int guess;
int tries = 0;
while (guess != randomNumber) {
System.out.print("1부터 100 사이의 숫자를 추측하세요: ");
guess = Integer.parseInt(System.console().readLine());
tries++;
if (guess > randomNumber) {
System.out.println("더 작은 숫자입니다.");
} else if (guess < randomNumber) {
System.out.println("더 큰 숫자입니다.");
}
}
System.out.println("축하합니다! " + tries + "번 만에 맞췄습니다.");

 

 

while 반복문을 사용할 때 주의할 점

 

자바에서 “while” 반복문을 사용할 때 주의할 점은 다음과 같습니다. 아래의 주의사항을 지키면서 “while” 반복문을 사용하면 안전하고 효율적으로 프로그램을 작성할 수 있습니다.

 

 

1. 루프 탈출 조건 설정

- “while” 반복문을 사용할 때는 항상 루프를 탈출할 조건을 명확하게 설정해야 합니다. 그렇지 않으면 무한 루프에 빠질 수 있습니다. 

int i = 0;
while (i < 5) {
System.out.println(i);
i++; // 루프 탈출을 위한 증가문 필요
}

 

 

2. 무한 루프 주의

- 조건을 올바르게 설정하지 않으면 무한 루프에 빠질 수 있습니다. 무한 루프에 빠지면 프로그램이 더 이상 실행되지 않습니다. 

while (true) {
// 무한 루프
}

 

 

3. 루프 변수 업데이트

- 루프 변수를 업데이트하여 루프가 종료되도록 해야 합니다. 그렇지 않으면 루프가 영원히 실행됩니다. 

int i = 0;
while (i < 5) {
System.out.println(i);
// i를 업데이트하는 코드가 없으면 루프가 종료되지 않음
}

 

 

4. 무한 반복 방지를 위한 타임아웃

- 무한 루프에 빠질 가능성이 있는 경우 무한 반복을 방지하기 위해 타임아웃을 설정하는 것이 좋습니다. 

long startTime = System.currentTimeMillis();
while (조건) {
// 루프 내용
if (System.currentTimeMillis() - startTime > TIMEOUT) {
break; // 타임아웃 발생 시 루프 종료
}
}

 

 

5. 변수 초기화

- 루프 변수를 초기화하여 루프가 예상대로 동작하도록 해야 합니다. 

int i = 0;
while (i < 5) {
// 루프 내용
i++;
}

 

반응형
Posted by 녹두장군1
,

녹두장군1님의
글이 좋았다면 응원을 보내주세요!