B8 : ๋ฐ˜๋ณต๋ฌธ

2025. 8. 14. 21:12ใ†Front-end/JavaScript

๋ฐ˜์‘ํ˜•

๋ชฉ์ฐจ

1. for ๋ฐ˜๋ณต๋ฌธ

2. while ๋ฐ˜๋ณต๋ฌธ

3. do..while ๋ฐ˜๋ณต๋ฌธ

4. ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœ ํ‚ค์›Œ๋“œ


1. for ๋ฐ˜๋ณต๋ฌธ

for ๋ฐ˜๋ณต๋ฌธ์€ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค.

for (begin; condition; step) {
  ...
}

for (let i=0; i<5; i++) {
  alert(i);
}		// 0 1 2 3 4
  • begin : ๋‹จ ํ•œ ๋ฒˆ ์‹คํ–‰๋œ๋‹ค.
  • condition : ๋ฐ˜๋ณต๋งˆ๋‹ค ์กฐ๊ฑด์„ ํ™•์ธํ•œ๋‹ค.
  • step : ๋ณธ๋ฌธ ์‹คํ–‰์„ ํ•œ ๋ฒˆ ๋งˆ์น ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋œ๋‹ค.

for ๋ฐ˜๋ณต๋ฌธ์˜ begin, condition, step์€ ํ•„์š” ์—†์œผ๋ฉด ์ƒ๋žต์ด ๊ฐ€๋Šฅํ•˜๋‹ค. (์‹ฌ์ง€์–ด ๋ชจ๋‘ ์ƒ๋žตํ•  ์ˆ˜๋„ ์žˆ๋‹ค!)

ํ•˜์ง€๋งŒ ๋‘ ๊ฐœ์˜ ์„ธ๋ฏธ์ฝœ๋ก  ;์€ ๊ผญ ๋“ค์–ด๊ฐ€์•ผ ํ•œ๋‹ค.

 

for (;;)๊ณผ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์ด ๋œ๋‹ค.

ํ•˜์ง€๋งŒ ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค๋ฉด while(true)๊ฐ€ ๋” ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค.


2. while ๋ฐ˜๋ณต๋ฌธ

while ๋ฐ˜๋ณต๋ฌธ์€ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค.

let i = 0;
while ( i < 5) {
  alert(i);
  i++;
}		// 0 1 2 3 4

๋ฐ˜๋ณต(iteration)์€ ๋ฐ˜๋ณต๋ฌธ์˜ ๋ณธ๋ฌธ์ด ํ•œ ๋ฒˆ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๋ฐ˜๋ณต๋ฌธ์˜ ์กฐ๊ฑด์œผ๋กœ๋Š” ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํ‘œํ˜„์‹, ๋ณ€์ˆ˜๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

while์€ ์กฐ๊ฑด์„ ํ‰๊ฐ€ํ•˜๊ณ , ๋ถˆ๋ฆฐ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

while์˜ ์กฐ๊ฑด์œผ๋กœ true๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์ด ๋œ๋‹ค.


3. do..while ๋ฐ˜๋ณต๋ฌธ

do..while ๋ฐ˜๋ณต๋ฌธ์€ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•œ๋‹ค.

let i = 0;
do {
  alert(i);
  i++;
} while (i<5);

๋ณธ๋ฌธ์„ ์ตœ์†Œ ํ•œ ๋ฒˆ์ด๋ผ๋„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋งŒ ์‚ฌ์šฉํ•œ๋‹ค.

๋ณดํ†ต์€ while๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•˜๋‹ค.

 


4. ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœ ํ‚ค์›Œ๋“œ

์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์ง€ ์•Š์•˜์–ด๋„ ์›ํ•˜๋Š” ๋•Œ์— ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

break

break ์ง€์‹œ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์–ธ์ œ๋“ ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

let sum = 0;
while(true) {
  let value = +prompt("์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š”.", '');
  if(!value) break;
  sum += value;
}

alert('ํ•ฉ๊ณ„: ' + sum );

 

continue

continue๋Š” ์กฐ๊ฑด ๋งŒ์กฑ ์‹œ, ํ˜„์žฌ ์‹คํ–‰์ค‘์ธ ๋ฐ˜๋ณต์„ ๋ฉˆ์ถ”๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ํ•œ๋‹ค.

for (let i = 0; i < 10; i++) {
  if(i==2) continue;
  alert(i);  // 0, 1, 3, 4, ...
}

 

๋ ˆ์ด๋ธ”

์ค‘์ฒฉ๋ฌธ์ด ๊ฒน์ณ์ ธ์žˆ์„ ๋•Œ๋Š” ๋ฐ˜๋ณต๋ฌธ์— ๋ ˆ์ด๋ธ”์„ ๋ถ™์ด๊ณ , break๊ณผ continue๋กœ ํ•ด๋‹น ๋ ˆ์ด๋ธ”๋กœ ๋น ์ ธ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

outer: for (let i=0; i<3; i++) {
  for (let j=0; j<3; j++) {
    let input = prompt(`${i},${j}`, '');
    if(!input) break outer;
  }
}

 

 

 

 

 

์ฐธ๊ณ 

๋”๋ณด๊ธฐ

์ฐธ๊ณ ์ž๋ฃŒ๋งํฌ

๋ฐ˜์‘ํ˜•