๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Language/Java

[Java]์ž๋ฐ” while ๋ฌธ: ๋ฌดํ•œ ๋ฐ˜๋ณต์„ ๋„˜์–ด์„œ

by YJ Dev 2024. 5. 14.
728x90
๋ฐ˜์‘ํ˜•
SMALL

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

์ž๋ฐ” while๋ฌธ


1. while ๋ฌธ ๊ธฐ๋ณธ ๊ตฌ์กฐ๐Ÿคน‍โ™‚๏ธ

while ๋ฌธ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํŠน์ • ์กฐ๊ฑด์ด ๋งŒ์กฑ๋  ๋•Œ๊นŒ์ง€ ์ผ๋ จ์˜ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. while ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

while (์กฐ๊ฑด์‹) {
    // ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋  ์ฝ”๋“œ
}

์—ฌ๊ธฐ์„œ ์กฐ๊ฑด์‹์€ true ๋˜๋Š” false๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋Š” ์‹์ด๋ฉฐ, ์กฐ๊ฑด์‹์ด true์ผ ๊ฒฝ์šฐ ์ค‘๊ด„ํ˜ธ ์•ˆ์˜ ์ฝ”๋“œ ๋ธ”๋ก์ด ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰๋˜๊ณ  false๋ผ๋ฉด while ๋ฌธ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.


2. while ๋ฌธ ์˜ˆ์ œ๐Ÿคธ‍โ™€๏ธ

๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด while ๋ฌธ์„ ์ดํ•ดํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
โ–ถ 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ˆซ์ž ์ถœ๋ ฅํ•˜๊ธฐ
์ด ์ฝ”๋“œ๋Š” ๋ณ€์ˆ˜ i๊ฐ€ 10 ์ดํ•˜์ธ ๋™์•ˆ 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

int i = 1;
while (i <= 10) {
    System.out.println(i);
    i++;
}

โ–ถ ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ •ํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•  ๋•Œ๊นŒ์ง€ ๊ณ„์†ํ•ด์„œ ์ž…๋ ฅ ๋ฐ›๊ธฐ
while ๋ฌธ์€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ์„ ๋ฐ›์„ ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์˜ˆ์ œ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ •ํ•œ ๊ฐ’์„ ์ž…๋ ฅํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
int userInput;

System.out.println("์›ํ•˜๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”:");
while (!scanner.hasNextInt()) {
    System.out.println("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”!");
    scanner.next(); // ์ž˜๋ชป๋œ ์ž…๋ ฅ๊ฐ’ ๋ฌด์‹œ
}
userInput = scanner.nextInt();
System.out.println("์ž…๋ ฅํ•œ ์ˆซ์ž๋Š” " + userInput + "์ž…๋‹ˆ๋‹ค.");


โ–ถ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์–‘์˜ ์ •์ˆ˜๊นŒ์ง€์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ถœ๋ ฅํ•˜๊ธฐ

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์–‘์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์Œ
        System.out.print("์–‘์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”: ");
        int number = scanner.nextInt();
        
        // ํ•ฉ์„ ์ €์žฅํ•  ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
        int sum = 0;
        
        // ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”
        int i = 1;
        
        // while๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 1๋ถ€ํ„ฐ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๊นŒ์ง€์˜ ํ•ฉ ๊ณ„์‚ฐ
        while (i <= number) {
            sum += i; // ํ•ฉ ๊ณ„์‚ฐ
            i++;      // ๋‹ค์Œ ์ˆซ์ž๋กœ ์ด๋™
        }
        
        // ๊ฒฐ๊ณผ ์ถœ๋ ฅ
        System.out.println("1๋ถ€ํ„ฐ " + number + "๊นŒ์ง€์˜ ํ•ฉ: " + sum);
    }
}

์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์–‘์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํ•ด๋‹น ์ˆซ์ž๊นŒ์ง€์˜ ํ•ฉ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๊ฐ„๋‹จํ•œ while ๋ฌธ ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋ฅผ ๋ณ€์ˆ˜ number์— ์ €์žฅํ•˜๊ณ , ํ•ฉ์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜ sum์„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณ€์ˆ˜ i๋ฅผ 1๋กœ ์ดˆ๊ธฐํ™” ํ•œ ํ›„, while ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ 1๋ถ€ํ„ฐ number๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋”ํ•ด sum์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. while ๋ฌธ์ด ์ข…๋ฃŒ๋˜๋ฉด ์ตœ์ข… ํ•ฉ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


โ–ถ์ค‘์ฒฉ while ๋ฌธ ์ด์šฉํ•œ ๊ตฌ๊ตฌ๋‹จ ์ถœ๋ ฅํ•˜๊ธฐ
์ค‘์ฒฉ while ๋ฌธ์€ ํ•œ while ๋ฌธ ์•ˆ์— ๋‹ค๋ฅธ while ๋ฌธ์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ณต์žกํ•œ ์ƒํ™ฉ์—์„œ๋„ ์œ ์—ฐํ•˜๊ฒŒ ๋ฐ˜๋ณต ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ค‘์ฒฉ while ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

public class Main {
    public static void main(String[] args) {
        int i = 2;
        while (i <= 9) {
            int j = 1;
            System.out.println(i + "๋‹จ");
            while (j <= 9) {
                System.out.println(i + " * " + j + " = " + (i * j));
                j++;
            }
            System.out.println(); // ๊ฐ ๋‹จ์„ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•œ ๋นˆ ์ค„ ์ถœ๋ ฅ
            i++;
        }
    }
}


์ด ์˜ˆ์ œ์—์„œ๋Š” ๋ฐ”๊นฅ์ชฝ while ๋ฌธ์—์„œ๋Š” ๊ตฌ๊ตฌ๋‹จ์˜ ๋‹จ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ€์ˆ˜ i๋ฅผ 2๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ˆ ์ชฝ while๋ฌธ์—์„œ๋Š” ๊ฐ ๋‹จ์—์„œ์˜ ์ˆซ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ณ€์ˆ˜ j๋ฅผ 1๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ ๊ตฌ๊ตฌ๋‹จ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.


3. while ๋ฌธ ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ํ•  ์ ๐Ÿ’ซ

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

  1. ์ ์ ˆํ•œ ์ข…๋ฃŒ ์กฐ๊ฑด ์„ค์ •: while ๋ฌธ ๋‚ด๋ถ€์—์„œ ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ ๋ฐ˜๋ณต์ด ๋ฉˆ์ถ”๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ณ€์ˆ˜ ์—…๋ฐ์ดํŠธ: ๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€์—์„œ ๋ณ€์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋ง์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฃŒ ์กฐ๊ฑด์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๋ณ€์ˆ˜๋ฅผ ์ ์ ˆํžˆ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ์ด ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ์กฐ๊ฑด์‹ ๊ฒ€์ฆ: while ๋ฌธ์˜ ์กฐ๊ฑด์‹์„ ์ •ํ™•ํ•˜๊ฒŒ ๊ฒ€์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์‹์ด ํ•ญ์ƒ ์ฐธ์ด ๋˜๊ฑฐ๋‚˜ ํ•ญ์ƒ ๊ฑฐ์ง“์ด ๋˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฌดํ•œ ๋ฃจํ”„ ๋ฐฉ์ง€: ๋ฌดํ•œ ๋ฐ˜๋ณต์— ๋น ์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์กฐ์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌดํ•œ ๋ฐ˜๋ณต์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์นด์šดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ํ‚ค๋ฅผ ์ž…๋ ฅํ•  ๋•Œ ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•˜๋Š” ๋“ฑ์˜ ๋ฐฉ๋ฒ•์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ํ…Œ์ŠคํŠธ์™€ ๋””๋ฒ„๊น…: ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•œ ํ›„์—๋Š” ํ•ญ์ƒ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ฌดํ•œ ๋ฐ˜๋ณต์— ๋น ์ง€๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋””๋ฒ„๊น… ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด์„œ ๋ฐ˜๋ณต๋ฌธ์ด ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // ์ ์ ˆํ•œ ์ข…๋ฃŒ ์กฐ๊ฑด ์„ค์ •: ์‚ฌ์šฉ์ž๊ฐ€ -1์„ ์ž…๋ ฅํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต
        int userInput;
        while (true) {
            System.out.print("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” (-1 ์ž…๋ ฅ ์‹œ ์ข…๋ฃŒ): ");
            userInput = scanner.nextInt();
            
            // ์กฐ๊ฑด ๊ฒ€์‚ฌ: ์ž…๋ ฅ๋œ ๊ฐ’์ด -1์ด๋ฉด ๋ฐ˜๋ณต ์ข…๋ฃŒ
            if (userInput == -1) {
                System.out.println("ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.");
                break; // ๋ฐ˜๋ณต ์ข…๋ฃŒ
            }
            
            // ๋ณ€์ˆ˜ ์—…๋ฐ์ดํŠธ: ์‚ฌ์šฉ์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์ž…๋ ฅ์„ ํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ˜๋ณต ํšŸ์ˆ˜ ์ฆ๊ฐ€
            // ์—ฌ๊ธฐ์„œ๋Š” ํŠน์ • ๋ฒ”์œ„ ๋‚ด์˜ ๊ฐ’์ธ์ง€ ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด ์ด๋ฃจ์–ด์ง
            if (userInput >= 1 && userInput <= 100) {
                System.out.println("์ž…๋ ฅํ•œ ๊ฐ’์€ ์˜ฌ๋ฐ”๋ฅธ ๋ฒ”์œ„ ๋‚ด์— ์žˆ์Šต๋‹ˆ๋‹ค.");
            } else {
                System.out.println("์ž…๋ ฅํ•œ ๊ฐ’์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฒ”์œ„์— ์†ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.");
            }
            
            // ํ…Œ์ŠคํŠธ์™€ ๋””๋ฒ„๊น…: ์ž…๋ ฅ๊ฐ’ ํ™•์ธ
            System.out.println("์ž…๋ ฅ๋œ ๊ฐ’: " + userInput);
        }
        
        scanner.close(); // ์Šค์บ๋„ˆ ๋‹ซ๊ธฐ
    }
}


์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๊ณ , ์ž…๋ ฅ๋œ ์ •์ˆ˜๊ฐ€ ํŠน์ • ๋ฒ”์œ„ ๋‚ด ๊ฐ’์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ ์ ˆํ•œ ์ข…๋ฃŒ ์กฐ๊ฑด ์„ค์ •, ๋ณ€์ˆ˜ ์—…๋ฐ์ดํŠธ, ์กฐ๊ฑด์‹ ๊ฒ€์ฆ, ๋ฌดํ•œ ๋ฃจํ”„ ๋ฐฉ์ง€, ํ…Œ์ŠคํŠธ์™€ ๋””๋ฒ„๊น…์˜ ๊ฐ ๋‹จ๊ณ„๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.


4. do-while ๋ฌธ๐Ÿƒ

do-while ๋ฌธ์€ while ๋ฌธ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋จผ์ € ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ ๋‹ค์Œ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜์—ฌ ๋ฐ˜๋ณต ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ฝ”๋“œ ๋ธ”๋ก์ด ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ ์‹คํ–‰๋จ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. do-while ๋ฌธ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

do {
    // ์‹คํ–‰ํ•  ์ฝ”๋“œ ๋ธ”๋ก
} while (์กฐ๊ฑด์‹);


๋จผ์ € do ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๊ณ , ๊ทธ ํ›„์— while ๋’ค์˜ ์กฐ๊ฑด์‹์ด ํ‰๊ฐ€๋ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์‹์ด true๋ฉด ๋ฃจํ”„๊ฐ€ ๊ณ„์†๋˜๊ณ , false๋ฉด ๋ฃจํ”„๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
do-while ๋ฌธ์˜ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์•„์„œ 0์ด ์ž…๋ ฅ๋  ๋•Œ๊นŒ์ง€ ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

import java.util.Scanner;

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

        do {
            System.out.print("์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” (0 ์ž…๋ ฅ ์‹œ ์ข…๋ฃŒ): ");
            number = scanner.nextInt();
            sum += number;
        } while (number != 0);

        System.out.println("์ž…๋ ฅ๋œ ์ •์ˆ˜์˜ ํ•ฉ: " + sum);
    }
}


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


5. ํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€

์ž๋ฐ” while๋ฌธ

728x90
๋ฐ˜์‘ํ˜•
LIST