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

Java/Java์˜ ์ •์„

Chapter 04 - ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ

Chapter 04 - ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ

  • ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์— ๋”ฐ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ๋งŒ ์ง„ํ–‰๋˜๋˜ ์ฝ”๋“œ์˜ ํ๋ฆ„์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.
  • ์กฐ๊ฑด๋ฌธ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๋ฌธ์žฅ ์ˆ˜ํ–‰
  • ๋ฐ˜๋ณต๋ฌธ์€ ํŠน์ • ๋ฌธ์žฅ๋“ค์„ ๋ฐ˜๋ณตํ•ด์„œ ์ˆ˜ํ–‰

1.1 ์กฐ๊ฑด๋ฌธ - if, switch

  • ์กฐ๊ฑด๋ฌธ์€ ์กฐ๊ฑด์‹๊ณผ ๋ฌธ์žฅ์„ ํฌํ•จํ•˜๋Š” ๋ธ”๋Ÿญ์œผ๋กœ ๊ตฌ์„ฑ

1.1 if๋ฌธ

  • if๋ฌธ์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ
  • ์กฐ๊ฑด์‹๊ณผ ๊ด„ํ˜ธ๋กœ ์ด๋ฃจ์–ด์ง
  • ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ์‹œ ๊ด„ํ˜ธ ์•ˆ์˜ ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰

์กฐ๊ฑด์‹

  • ์กฐ๊ฑด์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„๊ต์—ฐ์‚ฐ์ž์™€ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ์„ฑ
  • ๋“ฑ๊ฐ€๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ๋Œ€์ž… ์—ฐ์‚ฐ์ž๋ฅผ ํ—ท๊ฐˆ๋ฆฌ์ง€ ๋ง ๊ฒƒ

๋ธ”๋Ÿญ{}

  • ๊ด„ํ˜ธ๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๋ฌธ์žฅ์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ฌถ์„ ์ˆ˜ ์žˆ๊ณ  ์ด๊ฒƒ์„ ๋ธ”๋Ÿญ์ด๋ผ๊ณ  ํ•จ
  • ํƒญ์œผ๋กœ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ•ด์„œ ๋ธ”๋Ÿญ ์•ˆ์— ์†ํ•œ ๋ฌธ์žฅ์ด๋ผ๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ์ธ์ง€ํ•˜๋„๋ก ํ•  ๊ฒƒ
  • ํ•œ ๋ฌธ์žฅ์ผ ์‹œ ๊ด„ํ˜ธ ์ƒ๋žต ๊ฐ€๋Šฅ
    • ๊ฐ€๋Šฅํ•˜๋ฉด ์จ ์ค„ ๊ฒƒ

1.2 if-else๋ฌธ

  • if๋ฌธ์˜ ๋ฌธ์žฅ์ด ๊ฑฐ์ง“์ผ ์‹œ else๋ฌธ ์ˆ˜ํ–‰
  • else๋ฌธ๋„ ํ•œ ๋ฌธ์žฅ์ผ ์‹œ ๊ด„ํ˜ธ ์ƒ๋žต ๊ฐ€๋Šฅ

1.3 if-else if๋ฌธ

  • ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์…‹ ์ด์ƒ์ผ ์‹œ ์‚ฌ์šฉ
  • ํ•œ ๋ฌธ์žฅ์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด์‹์„ ์“ธ ์ˆ˜ ์žˆ์Œ
  • ์—ฌ๋Ÿฌ else if๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ฐธ์ธ ์กฐ๊ฑด์‹์ด ํ•˜๋‚˜๋„ ์—†์œผ๋ฉด ๋งˆ์ง€๋ง‰์˜ else ๋ธ”๋Ÿญ ์ˆ˜ํ–‰
    • else ๋ธ”๋Ÿญ ์ƒ๋žต ๊ฐ€๋Šฅ

1.4 ์ค‘์ฒฉ if๋ฌธ

  • if๋ฌธ์˜ ๋ธ”๋ž™ ๋‚ด์— ๋˜ ๋‹ค๋ฅธ if๋ฌธ์„ ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ
  • ์ค‘์ฒฉ์˜ ํšŸ์ˆ˜๋Š” ์ œํ•œ์ด ์—†์Œ
  • ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ํ†ตํ•ด if๋ฌธ์˜ ๊ตฌ๋ถ„์„ ํ™•์‹คํžˆ ํ•  ๊ฒƒ
  • ๊ด„ํ˜ธ์˜ ์ƒ๋žต์—๋„ ์ฃผ์˜ํ•  ๊ฒƒ -> ๊ด„ํ˜ธ๋ฅผ ๋ช…์‹œํ•˜์—ฌ ๋ธ”๋Ÿญ๋ผ๋ฆฌ์˜ ๊ด€๊ณ„๋ฅผ ํ™•์‹คํžˆ ํ•ด์ค„ ๊ฒƒ

1.5 switch๋ฌธ

  • switch๋ฌธ์€ if๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ ๋‹จ ํ•˜๋‚˜์˜ ์กฐ๊ฑด์‹์œผ๋กœ ๋งŽ์€ ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
  • ์กฐ๊ฑด์‹์„ ๊ณ„์‚ฐ ํ›„ ๊ฒฐ๊ณผ์™€ ์ผ์น˜ํ•˜๋Š” case๋ฌธ์œผ๋กœ ์ด๋™ ํ›„ ์ดํ›„์˜ ๋ฌธ์žฅ๋“ค์„ ์ˆ˜ํ–‰
    • break๋ฌธ์ด๋‚˜ switch๋ฌธ์˜ ๋์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ์ง„ํ–‰
  • ์กฐ๊ฑด๊ณผ ์ผ์น˜ํ•˜๋Š” case๋ฌธ์ด ํ•˜๋‚˜๋„ ์—†์„ ์‹œ default๋ฌธ์œผ๋กœ ์ด๋™

switch๋ฌธ์˜ ์ œ์•ฝ์กฐ๊ฑด

  • switch๋ฌธ์˜ ์กฐ๊ฑด์‹ ๊ฒฐ๊ณผ๋Š” ์ •์ˆ˜ ๋˜๋Š” ๋ฌธ์ž์—ด
  • case๋ฌธ์˜ ๊ฐ’์€ ์ •์ˆ˜, ์ƒ์ˆ˜๋งŒ ๊ฐ€๋Šฅํ•˜๊ณ  ์ค‘๋ณต ๋ถˆ๊ฐ€๋Šฅ

switch ์ค‘์ฒฉ

  • if๋ฌธ์ฒ˜๋Ÿผ switch๋ฌธ๋„ ์ค‘์ฒฉ ๊ฐ€๋Šฅ
  • ์ค‘์ฒฉ switch๋ฌธ์—์„œ break๋ฌธ ๋นผ๋จน์ง€ ์•Š๋„๋ก ์ฃผ์˜

๋ฐ˜๋ณต๋ฌธ - for, while, do-while

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

2.1 for๋ฌธ

  • for๋ฌธ์€ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์•Œ๊ณ  ์žˆ์„ ๋•Œ ์ ํ•ฉ

for๋ฌธ์˜ ๊ตฌ์กฐ์™€ ์ˆ˜ํ–‰ ์ˆœ์„œ

  for(์ดˆ๊ธฐํ™”;์กฐ๊ฑด์‹;์ฆ๊ฐ์‹){
    // ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๋•Œ ์ˆ˜ํ–‰๋  ๋ฌธ์žฅ๋“ค
  }
  • ์ดˆ๊ธฐํ™” ์ˆ˜ํ–‰ ํ›„ ์กฐ๊ฑด์‹ -> ์ˆ˜ํ–‰๋  ๋ฌธ์žฅ -> ์ฆ๊ฐ์‹์˜ ์ˆœ์„œ

์ดˆ๊ธฐํ™”

  • ๋ฐ˜๋ณต๋ฌธ์— ์‚ฌ์šฉ๋  ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”
  • ์ฒ˜์Œ์— ํ•œ ๋ฒˆ๋งŒ ์ˆ˜ํ–‰
  • ์ฝค๋งˆ๋ฅผ ๊ตฌ๋ถ„์ž๋กœ ๋ณ€์ˆ˜๋กœ ๋‘๊ณ  ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธ ๊ฐ€๋Šฅ

์กฐ๊ฑด์‹

  • ์กฐ๊ฑด์‹์˜ ๊ฐ’์ด true์ด๋ฉด ๋ฐ˜๋ณต, ๊ฑฐ์ง“์ด๋ฉด ๋ฐ˜๋ณต ์ค‘๋‹จ ํ›„ for๋ฌธ์„ ๋ฒ—์–ด๋‚จ

์ฆ๊ฐ์‹

  • ๋ฐ˜๋ณต๋ฌธ์„ ์ œ์–ดํ•˜๋Š” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ
  • ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค ๋ณ€์ˆ˜์˜ ๊ฐ’์ด ์ฆ๊ฐ์‹์— ์˜ํ•ด ๋ณ€ํ•จ
  • ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์ž๋กœ ์ฆ๊ฐ์‹ ์ž‘์„ฑ ๊ฐ€๋Šฅ
  • ์ฝค๋งˆ๋ฅผ ์ด์šฉํ•ด์„œ ๋‘ ๋ฌธ์žฅ ์ด์ƒ์„ ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ

์ค‘์ฒฉ for๋ฌธ

  • for๋ฌธ ์•ˆ์— ๋˜ ๋‹ค๋ฅธ for๋ฌธ ํฌํ•จ ๊ฐ€๋Šฅ

2.2 while๋ฌธ

  • ๋ธ”๋Ÿญ๋งŒ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ ์กฐ๊ฑด์‹์ด ์ฐธ์ผ ๋™์•ˆ ๋ธ”๋Ÿญ๋‚ด์˜ ๋ฌธ์žฅ์„ ๋ฐ˜๋ณต

for๋ฌธ๊ณผ while๋ฌธ์˜ ๋น„๊ต

  • ํ•ญ์ƒ ์„œ๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅ
  • while๋ฌธ ๋ณด๋‹ค for๋ฌธ์ด ๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ์•Œ์•„๋ณด๊ธฐ ์‰ฌ์›€
  • ์ดˆ๊ธฐํ™”๋‚˜ ์ฆ๊ฐ์‹์ด ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋• while๋ฌธ์ด ๋” ์ ํ•ฉ

while๋ฌธ์˜ ์กฐ๊ฑด์‹์€ ์ƒ๋žต ๋ถˆ๊ฐ€

  • for๋ฌธ๊ณผ ๋‹ฌ๋ฆฌ ์ƒ๋žตํ•  ์ˆ˜ ์—†์Œ
  • ํ•ญ์ƒ ์ฐธ์ด ๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ฐ˜๋“œ์‹œ true๋ฅผ ๋„ฃ์–ด์•ผ ํ•จ
    • ๋ฌดํ•œ ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋„๋ก ์กฐ๊ฑด์‹ ๋ฐ˜๋“œ์‹œ ๋„ฃ๊ธฐ

2.3 do-while๋ฌธ

  • while๋ฌธ์˜ ๋ณ€ํ˜•
    • ์กฐ๊ฑด์‹๊ณผ ๋ธ”๋Ÿญ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊ฟ”๋†“์Œ
  • while๋ฌธ์€ ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๋ธ”๋Ÿญ์ด ํ•œ ๋ฒˆ๋„ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์ง€๋งŒ do-while๋ฌธ์€ ์ตœ์†Œํ•œ ํ•œ ๋ฒˆ์€ ์ˆ˜ํ–‰๋  ๊ฒƒ์„ ๋ณด์žฅ

2.4 break๋ฌธ

  • break๋ฌธ์€ ์ž์‹ ์ด ํฌํ•จ๋œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚จ
  • if๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚˜๋„๋ก ํ•จ

2.5 continue๋ฌธ

  • ๋ฐ˜๋ณต๋ฌธ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • continue๋ฌธ์„ ๋งŒ๋‚˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์˜ ๋์œผ๋กœ ์ด๋™ํ•˜์—ฌ ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ
  • ๋ฐ˜๋ณต๋ฌธ ์ „์ฒด๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ์ ์ด break์™€ ๋‹ค๋ฆ„

2.6 ์ด๋ฆ„ ๋ถ™์€ ๋ฐ˜๋ณต๋ฌธ

  • break๋ฌธ์€ ๊ทผ์ ‘ํ•œ ๋‹จ ํ•˜๋‚˜์˜ ๋ฐ˜๋ณต๋ฌธ๋งŒ ๋ฒ—์–ด๋‚  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ 
  • ์ด๋Ÿฌํ•œ ๋‹จ์ ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ ์•ž์— ์ด๋ฆ„์„ ๋ถ™์ด๊ณ  break๋ฌธ๊ณผ continue๋ฌธ์— ์ด๋ฆ„์„ ์ง€์ •ํ•ด ์คŒ
    • ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฐ˜๋ณต๋ฌธ์„ ๋ฒ—์–ด๋‚˜๊ฑฐ๋‚˜ ๋ฐ˜๋ณต์„ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Œ
  • ex) for๋ฌธ ์•ž์— loop1 : <- ์ด๋Ÿฐ ์‹์œผ๋กœ ์ด๋ฆ„์„ ์ •ํ•ด์ค€ ๋’ค break loo1;๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋ฒ—์–ด๋‚จ