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

[Java] ์ œ์–ด๋ฌธ - ๋ฐ˜๋ณต๋ฌธ (for, ํ–ฅ์ƒ๋œ for, while, do-while, break, continue)

by Bhinney 2022. 12. 16.

๐Ÿ”Ž ๋ฐ˜๋ณต๋ฌธ 

  • for ๋ฌธ
  • while ๋ฌธ
  • ๋ฐ˜๋ณต๋ฌธ : ์–ด๋–ค ์ž‘์—…์ด ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋„๋ก ํ•  ๋•Œ ์‚ฌ์šฉ

๐Ÿ”Ž for ๋ฌธ

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

/* ์˜ˆ์‹œ */
for (int i = 0; i < 3; i++) {
	sum += i; // sum = i + (i+1) + (i + 2) = 0 + 1 + 2 "i๊ฐ’์ด ์ฆ๊ฐ€๋˜์–ด ๋ง์…ˆ ๋ฐ˜๋ณต"
}

๐Ÿ”Ž ํ–ฅ์ƒ๋œ for ๋ฌธ

  • ์นด์šดํ„ฐ ๋ณ€์ˆ˜์™€ ์ฆ๊ฐ์‹ ์‚ฌ์šฉ ์•ˆ ํ•จ
  • ๋ฐฐ์—ด๊ณผ ์ปฌ๋ ‰์…˜ ๊ฐ์ฒด๋ฅผ ์ข€ ๋” ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ๋ชฉ์ ์œผ๋กœ ์ œ๊ณต
  • ๋ฐฐ์—ด / ์ปฌ๋ ‰์…˜ ํ•ญ๋ชฉ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚จ
/* ์˜ˆ์‹œ */

public class Example {
	public static void main(String[] args) throws Exception {
    	String[] colors = {"red", "blue", "pink"};
        
        for (String color : colors) {
        	System.out.println("์˜ท์˜ ์ƒ‰์€ " + color + " ์ž…๋‹ˆ๋‹ค.");
        }
    }
}


/* 
์ถœ๋ ฅ 
์˜ท์˜ ์ƒ‰์€ red ์ž…๋‹ˆ๋‹ค.
์˜ท์˜ ์ƒ‰์€ blue ์ž…๋‹ˆ๋‹ค.
์˜ท์˜ ์ƒ‰์€ pink ์ž…๋‹ˆ๋‹ค.
*/

๐Ÿ”Ž while ๋ฌธ

  • ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๊ฒฝ์šฐ ๊ณ„์†ํ•ด์„œ ๋ฐ˜๋ณต
  • for ๋ฌธ๊ณผ while ๋ฌธ์€ ์ดˆ๊ธฐํ™”, ์ฆ๊ฐ์‹์˜ ์œ„์น˜๋งŒ ๋‹ค๋ฅผ ๋ฟ ์ƒํ˜ธ ๋Œ€์ฒด ๊ฐ€๋Šฅ
์ดˆ๊ธฐํ™”;
while(์กฐ๊ฑด์‹) {
	/* ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๋™์•ˆ ์ด ๋ธ”๋Ÿญ ๋ฐ˜๋ณต */
}

---

์ดˆ๊ธฐํ™”;
while(์กฐ๊ฑด์‹) {
	์‹คํ–‰๋ฌธ; 
    ์ฆ๊ฐ์‹;
}

/* ์˜ˆ์‹œ */
int count = 3;
int sum = 0;

while (count > 0) {
	sum += count;
    count--;
}
System.out.println(sum);

/*
์ถœ๋ ฅ
6
*/

๐Ÿ”Ž do - while ๋ฌธ

  • ์กฐ๊ฑด์‹ ๋ฐ˜๋ณต ์‹คํ–‰์— ์žˆ์–ด์„œ๋Š” while ๋ฌธ๊ณผ ๋™์ผ
  • do ์•ˆ์˜ ์‹คํ–‰๋ฌธ์€ ์ฒ˜์Œ ํ•œ ๋ฒˆ ๋ฌด์กฐ๊ฑด ์‹คํ–‰
  • ์ดํ›„ while ๋ฌธ์˜ ์กฐ๊ฑด์‹์„ ํ‰๊ฐ€ ํ›„, ์ฐธ์ด๋ฉด do ์•ˆ์˜ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณต ์‹คํ–‰
do{
    ์‹คํ–‰๋ฌธ; /* ์ฒ˜์Œ ํ•œ ๋ฒˆ์€ ๋ฌด์กฐ๊ฑด ์‹คํ–‰, ์ดํ›„ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด ๋ฐ˜๋ณต ์‹คํ–‰*/ 
} while(์กฐ๊ฑด์‹);


/* ์˜ˆ์ œ */
int count = 1;
do {
    System.out.println("์‹คํ–‰๋ฌธ " + count + " ์ž…๋‹ˆ๋‹ค." );
    count++;
} while (count <= 10);

/*
์ถœ๋ ฅ
์‹คํ–‰๋ฌธ 1 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 2 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 3 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 4 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 5 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 6 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 7 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 8 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 9 ์ž…๋‹ˆ๋‹ค.
์‹คํ–‰๋ฌธ 10 ์ž…๋‹ˆ๋‹ค.
*/

๐Ÿ’ก break;

  • break ๋ฌธ์€ ์ฃผ๋กœ if ๋ฌธ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ
  • if ๋ฌธ์˜ ์กฐ๊ฑด์‹์— ๋”ฐ๋ผ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•  ๋•Œ ์‚ฌ์šฉ
  • ๋ฐ˜๋ณต๋ฌธ ์ค‘์ฒฉ ์‹œ, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ˜๋ณต๋ฌธ๋งŒ ์ข…๋ฃŒ

๐Ÿ’ก continue;

  • ๋ฐ˜๋ณต๋ฌธ์—์„œ ์‚ฌ์šฉ
  • ๋ฐ˜๋ณต๋ฌธ์˜ ๋ธ”๋Ÿญ ๋‚ด๋ถ€์—์„œ continue ์‚ฌ์šฉ ์‹œ, for์˜ ์ฆ๊ฐ๋ฌธ ํ˜น์€ while/ do-while ๋ฌธ์˜ ์กฐ๊ฑด์‹์œผ๋กœ ์ด๋™ํ•˜์—ฌ ์ž‘๋™
  • ์ฃผ๋กœ if ๋ฌธ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ
  • if ๋ฌธ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฒฝ์šฐ, continue๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๊ทธ ์ดํ›„์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ.

 

๋Œ“๊ธ€