Responsive Advertisement

Java While Loop: 반복 작업의 기본

Java의 While 문은 특정 조건이 true인 동안 반복적으로 코드를 실행할 수 있도록 합니다. 반복 작업을 간단하고 효율적으로 처리할 수 있어 프로그램의 핵심적인 흐름 제어 도구로 자주 사용됩니다. 이번 글에서는 While 문의 기본 문법과 활용법, 작성 시 주의사항을 다뤄보겠습니다.

1. While 문 기본 문법

while 문은 조건식이 true일 동안 코드를 반복 실행합니다. 조건식은 반복이 시작되기 전에 평가되며, 조건이 false가 되면 반복이 종료됩니다.

While 기본 구조

while (조건식) {
    // 조건식이 true일 때 실행될 코드
}

예제: 간단한 While 문

public class WhileExample {
    public static void main(String[] args) {
        int count = 0;

        while (count < 5) {
            System.out.println("카운트: " + count);
            count++;
        }
    }
}

출력 결과:

카운트: 0
카운트: 1
카운트: 2
카운트: 3
카운트: 4

위 코드에서 count 값이 5 미만일 때 반복이 실행되며, count++를 통해 값이 증가하다 조건이 false가 되면 종료됩니다.

2. While 문 활용

while 문은 다양한 상황에서 활용됩니다. 아래는 실용적인 예제들을 통해 While 문의 활용법을 살펴보겠습니다.

2.1 사용자 입력 처리

While 문은 사용자 입력을 처리하거나 조건에 맞는 입력이 올 때까지 반복할 때 유용합니다.

import java.util.Scanner;

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

        while (true) {
            System.out.print("1부터 10 사이의 숫자를 입력하세요: ");
            number = scanner.nextInt();

            if (number >= 1 && number <= 10) {
                System.out.println("올바른 입력입니다: " + number);
                break;
            } else {
                System.out.println("잘못된 입력입니다. 다시 시도하세요.");
            }
        }

        scanner.close();
    }
}

출력 예시:

1부터 10 사이의 숫자를 입력하세요: 15
잘못된 입력입니다. 다시 시도하세요.
1부터 10 사이의 숫자를 입력하세요: 7
올바른 입력입니다: 7

위 코드에서 while (true)를 사용하여 무한 루프를 생성하고, 조건이 충족되면 break로 종료합니다.

2.2 누적 합계 계산

While 문은 특정 범위의 값에 대해 반복 작업을 수행하여 합계를 계산하는 데 자주 사용됩니다.

public class SumExample {
    public static void main(String[] args) {
        int sum = 0;
        int num = 1;

        while (num <= 10) {
            sum += num;
            num++;
        }

        System.out.println("1부터 10까지의 합: " + sum);
    }
}

출력 결과:

1부터 10까지의 합: 55

2.3 조건에 따라 요소 검색

While 문은 배열이나 컬렉션에서 특정 조건에 맞는 값을 검색하는 데도 활용됩니다.

public class SearchExample {
    public static void main(String[] args) {
        int[] numbers = {3, 5, 7, 9, 11};
        int target = 7;
        int index = 0;
        boolean found = false;

        while (index < numbers.length) {
            if (numbers[index] == target) {
                found = true;
                break;
            }
            index++;
        }

        if (found) {
            System.out.println("찾은 값: " + target + " (인덱스: " + index + ")");
        } else {
            System.out.println("값을 찾을 수 없습니다.");
        }
    }
}

출력 결과:

찾은 값: 7 (인덱스: 2)

3. 무한 루프와 While

while (true)는 무한 루프를 생성하며, 네트워크 연결 유지나 지속적인 이벤트 처리와 같은 작업에 사용됩니다. 하지만 반드시 break 문을 통해 종료 조건을 추가해야 합니다.

무한 루프 예제

public class InfiniteLoopExample {
    public static void main(String[] args) {
        int count = 0;

        while (true) {
            System.out.println("반복 횟수: " + count);
            count++;

            if (count == 10) {
                System.out.println("종료 조건에 도달했습니다.");
                break;
            }
        }
    }
}

출력 결과:

반복 횟수: 0
반복 횟수: 1
...
반복 횟수: 9
종료 조건에 도달했습니다.

4. While 문 작성 시 주의사항

  • 조건식 유효성: 조건식이 항상 true가 되는 경우 무한 루프가 발생할 수 있으니 주의하세요.
  • 변수 업데이트: 루프 안에서 조건을 변경하는 변수를 적절히 업데이트하지 않으면 반복이 끝나지 않을 수 있습니다.
  • 루프 탈출: 특정 조건에서 반복을 종료하기 위해 break 문을 활용하세요.

5. While 문과 Do...While 비교

while 문은 조건을 먼저 평가하지만, do...while 문은 조건 평가 전에 블록을 한 번 실행합니다.

Do...While 예제

public class DoWhileExample {
    public static void main(String[] args) {
        int count = 0;

        do {
            System.out.println("반복 횟수: " + count);
            count++;
        } while (count < 5);
    }
}

출력 결과:

반복 횟수: 0
반복 횟수: 1
반복 횟수: 2
반복 횟수: 3
반복 횟수: 4

조건이 처음부터 false여도 do...while은 한 번 실행되는 차이가 있습니다.

결론

Java의 While 문은 반복 작업을 처리하는 기본 도구로, 특정 조건을 만족하는 동안 코드를 실행하는 데 유용합니다. 사용자 입력 처리, 합계 계산, 배열 검색 등 다양한 작업에 활용할 수 있으며, 조건식과 변수 관리에 주의하면 효율적이고 안전한 코드를 작성할 수 있습니다. 이번 글에서 배운 내용을 바탕으로 While 문을 다양한 프로젝트에 활용해 보세요!

댓글 쓰기