๐ŸŸช Backend-Java

8. ๋ฐ˜๋ณต๋ฌธ์˜ ํ๋ฆ„์ œ์–ด (for, while, do-while ํ๋ฆ„์ œ์–ด/break,continue)

ramen2 2024. 7. 5. 18:28
๋ฐ˜์‘ํ˜•

โœ…  ' for ' ๋ฌธ

  • ํŠน์ • ์กฐ๊ฑด์ด๋‚˜ ํšŸ์ˆ˜์— ๋”ฐ๋ผ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ํ• ๋•Œ ์‚ฌ์šฉ
  • (์ดˆ๊ธฐํ™”,์กฐ๊ฑด๊ฒ€์‚ฌ,์ฆ๊ฐ์‹ ์œผ๋กœ ๊ตฌ์„ฑ๋จ)
  • ์ดˆ๊ธฐํ™”: ๋ฐ˜๋ณต๋ฌธ์ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ•œ ๋ฒˆ๋งŒ ์‹คํ–‰๋˜๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™” ๋“ฑ์— ์‚ฌ์šฉ
  • ์กฐ๊ฑด ๊ฒ€์‚ฌ: ๊ฐ ๋ฐ˜๋ณต๋งˆ๋‹ค ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜์—ฌ ์ฐธ์ด๋ฉด ๋ฐ˜๋ณต์„ ๊ณ„์†ํ•˜๊ณ , ๊ฑฐ์ง“(false)์ด๋ฉด ๋ฐ˜๋ณต์„ ์ข…๋ฃŒ
  • ์ฆ๊ฐ์‹: ๊ฐ ๋ฐ˜๋ณต์ด ๋๋‚œ ํ›„ ์‹คํ–‰๋˜๋Š” ๋ถ€๋ถ„์œผ๋กœ, ์ฃผ๋กœ ๋ฐ˜๋ณต ๋ณ€์ˆ˜๋ฅผ ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ์‹œํ‚ค๋Š” ์—ญํ• ์„ํ•จ
for (์ดˆ๊ธฐํ™”; ์กฐ๊ฑด ๊ฒ€์‚ฌ; ์ฆ๊ฐ์‹) {
    // ์กฐ๊ฑด ๊ฒ€์‚ฌ๊ฐ€ ์ฐธ(true)์ธ ๋™์•ˆ ๋ฐ˜๋ณต ์‹คํ–‰๋  ์ฝ”๋“œ
}

for (int i = 1; i <= 7; i++) {
     if (i % 2 == 0) {
        System.out.printf("%d ", i);
     }
  }

| ๊ฒฐ๊ณผ : 2 4 6
 

 


โœ… 
' while ' ๋ฌธ

  • ์กฐ๊ฑด์ด ์ฐธ(true)์ธ ๋™์•ˆ ๊ณ„์† ๋ฐ˜๋ณต์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ตฌ์กฐ
  • ์กฐ๊ฑด์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ฑฐ์ง“(false)์ด๋ฉด ํ•œ๋ฒˆ๋„ ์‹คํ–‰์•ˆ ๋  ์ˆ˜ ์žˆ์Œ
while (์กฐ๊ฑด) {
    // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๋ฐ˜๋ณต ์‹คํ–‰๋  ์ฝ”๋“œ
}

int count = 1;
while (count <= 5) {
    System.out.println("๋ฐ˜๋ณต ํšŸ์ˆ˜: " + count);
    count++;
}

| ๊ฒฐ๊ณผ : 
๋ฐ˜๋ณต ํšŸ์ˆ˜: 1
๋ฐ˜๋ณต ํšŸ์ˆ˜: 2
๋ฐ˜๋ณต ํšŸ์ˆ˜: 3
๋ฐ˜๋ณต ํšŸ์ˆ˜: 4
๋ฐ˜๋ณต ํšŸ์ˆ˜: 5

 
 
 

โœ…  ' do-while ' ๋ฌธ

  • ' while ' ๋ฌธ๊ณผ ์œ ์‚ฌ, ์กฐ๊ฑด ๊ฒ€์‚ฌ๋ฅผ ๋ฐ˜๋ณต ์‹คํ–‰ ์ฝ”๋“œ ์ดํ›„์— ์ˆ˜ํ–‰ํ•จ (๋”ฐ๋ผ์„œ, ์ตœ์†Œ ํ•œ ๋ฒˆ์€ ๋ฐ˜๋ณต์„ ์‹คํ–‰)
do {
    // ๋ฐ˜๋ณต ์‹คํ–‰๋  ์ฝ”๋“œ
} while (์กฐ๊ฑด);


int count = 1;
do {
    System.out.println("๋ฐ˜๋ณต ํšŸ์ˆ˜: " + count);
    count++;
} while (count <= 5);

| ๊ฒฐ๊ณผ : 
๋ฐ˜๋ณต ํšŸ์ˆ˜: 1
๋ฐ˜๋ณต ํšŸ์ˆ˜: 2
๋ฐ˜๋ณต ํšŸ์ˆ˜: 3
๋ฐ˜๋ณต ํšŸ์ˆ˜: 4
๋ฐ˜๋ณต ํšŸ์ˆ˜: 5

 



 

โœ…  ' continue ' ๋ฌธ

  • ํ˜„์žฌ ๋ฐ˜๋ณต ์ฃผ๊ธฐ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต ์ฃผ๊ธฐ๋กœ ๋„˜์–ด๊ฐ
  • ํŠน์ • ์กฐ๊ฑด์—์„œ ๋ฐ˜๋ณต๋ฌธ์˜ ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉ
    (์‰ฝ๊ฒŒ ๋งํ•ด continue ์•ˆ์— ์žˆ๋Š” ๋ฌธ๊ตฌ๊ฐ€ true๋ฉด ๊ฑธ๋Ÿฌ์ง€๋Š”๊ฑฐ๋ผ๊ณ  ๋ณด๋ฉด ๋จ)

๐Ÿ“ํŠน์ • ์กฐ๊ฑด์—์„œ ๋ฐ˜๋ณต ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์˜ˆ์‹œ

-์ˆซ์ž๋ฅผ 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ถœ๋ ฅํ•˜์ง€๋งŒ, ์ˆซ์ž๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •์‹œ
(1~10์ค‘ ํ™€์ˆ˜๋งŒ ์ถœ๋ ฅ)

package section05;

public class Ex0502 {
    public static void main(String[] args) {
        int number = 1;
        while (number <= 10) {
            if (number % 2 != 0) {
                System.out.printf("%d ", number);
            }
            number++;
        }
        System.out.println("๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ");
    }
}

 
๊ฒฐ๊ณผ : 1 3 5 7 9 ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ
 
 
 
 
 

โœ… ' break ' ๋ฌธ

  • break ๋ฌธ์€ ๋ฐ˜๋ณต๋ฌธ์„ ์™„์ „ํžˆ ์ข…๋ฃŒ์‹œํ‚ค๊ณ  ๋ฐ˜๋ณต๋ฌธ ๋‹ค์Œ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•จ
  • ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ ๋ฐ˜๋ณต์„ ์ฆ‰์‹œ ์ค‘๋‹จํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์œ ์šฉ

 

๐Ÿ“ํŠน์ • ์กฐ๊ฑด์—์„œ ๋ฐ˜๋ณต์ข…๋ฃŒ ์˜ˆ์‹œ

-์ˆซ์ž๋ฅผ 1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ถœ๋ ฅํ•˜์ง€๋งŒ, ์ˆซ์ž๊ฐ€ 5์ผ ๋•Œ ๋ฐ˜๋ณต์„ ์ค‘๋‹จํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ •์‹œ

package section05;

public class Ex0502 {
    public static void main(String[] args) {
        int number = 1;
        while (number <= 10) {
            if (number == 5) {
                break; // number๊ฐ€ 5์ผ ๋•Œ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒ
            }
            System.out.printf("%d ", number);
            number++;
        }
        System.out.println("๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ");
    }
}

 
๊ฒฐ๊ณผ : 1 2 3 4 ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ
 
 
 
 


โœ… 
' for each ' ๋ฌธ (ํ–ฅ์ƒ๋œ for ๋ฌธ)

  • ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์„ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉ 
  • ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์˜ ๊ฐ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ ‘๊ทผํ•˜์—ฌ ์ฒ˜๋ฆฌ๊ฐ€๋Šฅ
for (์š”์†Œ์˜_ํƒ€์ž… ๋ณ€์ˆ˜๋ช… : ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜) {
    // ๊ฐ ์š”์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ
}


int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println(number);
}

 

package my_practice;

public class Dc_for_each {
      public static void main(String[] args) {
         //๋“œ๋ฆผ์บ์ณ ๋ฉค๋ฒ„๋ฅผ ๋ฐฐ์—ด๋กœ ํ‘œํ˜„
         String[] dcMem = {"์ง€์œ ","์ˆ˜์•„","์‹œ์—ฐ","ํ•œ๋™","๋‹ค๋ฏธ","์œ ํ˜„","๊ฐ€ํ˜„"};

         System.out.println("๋“œ๋ฆผ์บ์ณ ๋ฉค๋ฒ„ ์ˆ˜: " + dcMem.length +"๋ช…");
         for(String member : dcMem){
            System.out.printf("%s ",member);
         }
         
      }
}

| ๊ฒฐ๊ณผ:
๋“œ๋ฆผ์บ์ณ ๋ฉค๋ฒ„ ์ˆ˜: 7๋ช…
์ง€์œ  ์ˆ˜์•„ ์‹œ์—ฐ ํ•œ๋™ ๋‹ค๋ฏธ ์œ ํ˜„ ๊ฐ€ํ˜„
 

โœ๏ธ  ๋ฐ˜๋ณต๋ฌธ ํŠน์ง• ํ•œ ์ค„ ์ •๋ฆฌ

 

  • for ๋ฌธ: ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•  ๋•Œ ์œ ์šฉํ•˜๋ฉฐ, ๋ฐ˜๋ณต ๋ณ€์ˆ˜์˜ ๋ฒ”์œ„๋ฅผ ํ•œ์ •
  • while ๋ฌธ: ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต์„ ๊ฒฐ์ •ํ•  ๋•Œ ์‚ฌ์šฉ
  • do-while ๋ฌธ: ์ตœ์†Œ ํ•œ ๋ฒˆ์€ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์กฐ๊ฑด ๊ฒ€์‚ฌ๋ฅผ ๋ฐ˜๋ณต์˜ ๋์—์„œ ์ˆ˜ํ–‰
  • continue ๋ฌธ: ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฐ˜๋ณต์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • break ๋ฌธ: ๋ฐ˜๋ณต์„ ์ฆ‰์‹œ ์ข…๋ฃŒํ•˜๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ต๋‹ˆ๋‹ค.
  • for each ๋ฌธ: ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์„ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ ์š”์†Œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค.

 
 

 

 
โœ๏ธ์˜ค๋Š˜์˜ ํšŒ๊ณ 

์šฉ๋„๋ผ๋˜๊ฐ€ ์ •์˜๊ฐ€ ์ดํ•ด๊ฐ€ ์•ˆ๋ผ์„œ ๋”ฐ๋กœ ์ •๋ฆฌ..!

๋ฐ˜์‘ํ˜•