Responsive Advertisement

Java While Loop Examples: ๋ฐ˜๋ณต๋ฌธ์˜ ๋‹ค์–‘ํ•œ ํ™œ์šฉ๋ฒ•

Java์˜ While ๋ฌธ์€ ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ ํŠน์ • ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๋ฐ˜๋ณต ์ž‘์—…๋ถ€ํ„ฐ ๋ณต์žกํ•œ ์กฐ๊ฑด ์ฒ˜๋ฆฌ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” While ๋ฌธ์„ ์‚ฌ์šฉํ•œ ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ณต๋ฌธ์˜ ํ™œ์šฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. While Loop ๊ธฐ๋ณธ ์˜ˆ์ œ

While ๋ฌธ์€ ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ ์ฝ”๋“œ ๋ธ”๋ก์„ ๋ฐ˜๋ณต ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” While ๋ฌธ์„ ์‚ฌ์šฉํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ 1: 1๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ถœ๋ ฅ

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

        while (count <= 5) {
            System.out.println("์ˆซ์ž: " + count);
            count++;
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์ˆซ์ž: 1  
์ˆซ์ž: 2  
์ˆซ์ž: 3  
์ˆซ์ž: 4  
์ˆซ์ž: 5  

์ด ์ฝ”๋“œ๋Š” count๊ฐ€ 5 ์ดํ•˜์ผ ๋•Œ๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๋ฉฐ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

2. While ๋ฌธ์„ ํ™œ์šฉํ•œ ์‹ค์šฉ์ ์ธ ์˜ˆ์ œ

2.1 ๋ˆ„์  ํ•ฉ ๊ณ„์‚ฐ

While ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฒ”์œ„์˜ ์ˆซ์ž ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

        System.out.println("1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ: " + sum);
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ํ•ฉ: 55

์ด ์ฝ”๋“œ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆซ์ž๋ฅผ ๋”ํ•˜์—ฌ ํ•ฉ๊ณ„๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

2.2 ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌ

์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋งž๋Š” ์ž…๋ ฅ์„ ์ œ๊ณตํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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  

2.3 ํŠน์ • ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ’ ์ฐพ๊ธฐ

While ๋ฌธ์„ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด์—์„œ ํŠน์ • ๊ฐ’์„ ๊ฒ€์ƒ‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

public class SearchExample {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};
        int target = 30;
        int index = 0;

        while (index < numbers.length) {
            if (numbers[index] == target) {
                System.out.println("์ฐพ๋Š” ๊ฐ’ " + target + "์€ ์ธ๋ฑ์Šค " + index + "์— ์žˆ์Šต๋‹ˆ๋‹ค.");
                break;
            }
            index++;
        }

        if (index == numbers.length) {
            System.out.println("์ฐพ๋Š” ๊ฐ’์ด ๋ฐฐ์—ด์— ์—†์Šต๋‹ˆ๋‹ค.");
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์ฐพ๋Š” ๊ฐ’ 30์€ ์ธ๋ฑ์Šค 2์— ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๋ฌดํ•œ ๋ฃจํ”„์™€ While

While ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ๊นŒ์ง€ ๋ฌดํ•œ ๋ฐ˜๋ณต์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฌดํ•œ ๋ฃจํ”„๋ผ๊ณ  ํ•˜๋ฉฐ, break ๋ฌธ์œผ๋กœ ํƒˆ์ถœ ์กฐ๊ฑด์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ: ๊ฐ„๋‹จํ•œ ๋ฌดํ•œ ๋ฃจํ”„

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

        while (true) {
            System.out.println("๋ฐ˜๋ณต ํšŸ์ˆ˜: " + count);
            count++;

            if (count == 5) {
                System.out.println("๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.");
                break;
            }
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

๋ฐ˜๋ณต ํšŸ์ˆ˜: 0  
๋ฐ˜๋ณต ํšŸ์ˆ˜: 1  
๋ฐ˜๋ณต ํšŸ์ˆ˜: 2  
๋ฐ˜๋ณต ํšŸ์ˆ˜: 3  
๋ฐ˜๋ณต ํšŸ์ˆ˜: 4  
๋ฃจํ”„๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.  

4. While ๋ฌธ ์ž‘์„ฑ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • ์กฐ๊ฑด์‹ ๊ด€๋ฆฌ: ์กฐ๊ฑด์‹์ด ํ•ญ์ƒ true๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ์ ์ ˆํžˆ ์„ค์ •ํ•˜์„ธ์š”.
  • ๋ฃจํ”„ ํƒˆ์ถœ: ํƒˆ์ถœ ์กฐ๊ฑด์ด ์—†๋Š” ๋ฌดํ•œ ๋ฃจํ”„๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉˆ์ถ”๊ฒŒ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ break ๋ฌธ์„ ํ™œ์šฉํ•˜์„ธ์š”.
  • ๋ณ€์ˆ˜ ์—…๋ฐ์ดํŠธ: ๋ฃจํ”„ ์•ˆ์—์„œ ์กฐ๊ฑด์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ณ€์ˆ˜์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์žŠ์ง€ ๋งˆ์„ธ์š”.

5. ๊ฒฐ๋ก 

Java์˜ While ๋ฌธ์€ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์–ด ์‹ค์ƒํ™œ์—์„œ ์ž์ฃผ ํ™œ์šฉ๋˜๋ฉฐ, ์‚ฌ์šฉ์ž ์ž…๋ ฅ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰, ๋ˆ„์  ๊ณ„์‚ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ ์†Œ๊ฐœํ•œ ์˜ˆ์ œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ While ๋ฌธ์„ ์ตํžˆ๊ณ , ํ”„๋กœ์ ํŠธ์— ์ ๊ทน ํ™œ์šฉํ•ด ๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ