[Kotlin ๊ธฐ์ดˆ] ์ฝ”ํ‹€๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ• - ๋ฐ˜๋ณต๋ฌธ
๋ฐ˜์‘ํ˜•

 

 

 

 

 

5 ๋ฐ˜๋ณต๋ฌธ

 

  • for: ํŠน์ • ํšŸ์ˆ˜๋งŒํผ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต
  • while: ํŠน์ • ์กฐ๊ฑด์ด ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต

 

 

for ๋ฐ˜๋ณต๋ฌธ

 

for (๋ฐ˜๋ณตํ•  ๋ฒ”์œ„){
    // ๋ฐ˜๋ณต๋  ์‹คํ–‰ ์ฝ”๋“œ
}

 

 

for in .. : ์ผ๋ฐ˜์ ์ธ ํ˜•ํƒœ์˜ for ๋ฐ˜๋ณต๋ฌธ

 

for (๋ณ€์ˆ˜ in ์‹œ์ž‘๊ฐ’..์ข…๋ฃŒ๊ฐ’){
    // ์‹คํ–‰ ์ฝ”๋“œ
}


for (index in 1..10){
    Log.d("For", "ํ˜„์žฌ ์ˆซ์ž๋Š” $index")
}
  • ์‹œ์ž‘๊ฐ’๊ณผ ์ข…๋ฃŒ๊ฐ’์œผ๋กœ ์ง€์ •ํ•œ ์ˆซ์ž ๋ฒ”์œ„๋งŒํผ(์ดํ•˜) ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋ณต
  • in์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฒ”์œ„์˜ ์ˆซ์ž๋ฅผ ๋ณ€์ˆ˜์— ๋‹ด์•„๋‘๊ณ  ์‚ฌ์šฉ

 


in until : ๋งˆ์ง€๋ง‰ ์ˆซ์ž ์ œ์™ธํ•˜๊ธฐ(๋ฏธ๋งŒ)

 

for (๋ณ€์ˆ˜ in ์‹œ์ž‘๊ฐ’ until ์ข…๋ฃŒ๊ฐ’){
    // ์‹คํ–‰ ์ฝ”๋“œ
}

var array = arrayOf("JAN", "FEB", "MAR", "APR", "MAY", "JUN")
for (index in 0 until array.size){
    Log.d("For", "ํ˜„์žฌ ์›”์€ ${array.get(index)}์ž…๋‹ˆ๋‹ค.")
}
  • ์‹œ์ž‘๊ฐ’๊ณผ ์ข…๋ฃŒ๊ฐ’ ์‚ฌ์ด์˜ .. (์˜จ์  2๊ฐœ) ๋Œ€์‹ ์— until์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข…๋ฃŒ๊ฐ’ ์ด์ „(๋ฏธ๋งŒ)๊นŒ์ง€๋งŒ ๋ฐ˜๋ณต
  • ์ปดํ“จํ„ฐ์˜ ์ธ๋ฑ์Šค๊ฐ€ ํ•ญ์ƒ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•˜๋Š” ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ
  • ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋Š” ํ•ญ์ƒ '๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค + 1์˜ ๊ฐ’'
    ๋”ฐ๋ผ์„œ ๋ฐ˜๋ณต์„ ํ•  ๋•Œ ๋ฐฐ์—ด์˜ ํฌ๊ธฐ ๋ฐ”๋กœ ์ „๊นŒ์ง€๋งŒ ๋ฐ˜๋ณตํ•ด์•ผ ํ•จ

 

 

step : ๊ฑด๋„ˆ๋›ฐ๊ธฐ

 

for (๋ณ€์ˆ˜ in ์‹œ์ž‘๊ฐ’..์ข…๋ฃŒ๊ฐ’ step 3){
    // ์‹คํ–‰ ์ฝ”๋“œ
}


for(i in 1 until 11 step 2){
    println(i)
}

// 1, 3, 5, 7, 9
  • ๋ฒ”์œ„ ์•ˆ์„ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์›ํ•˜๋Š” ๊ฐ„๊ฒฉ์˜ ์ˆซ์ž๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ step ์‚ฌ์šฉ
  • for๋ฌธ ์•ˆ์— if๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋งค๋ฒˆ if๋ฌธ์„ ์‹คํ–‰ํ•ด์„œ ์ฝ”๋“œ๊ฐ€ ๋‚ญ๋น„๋จ

 

 

downTo : ๊ฐ์†Œ์‹œํ‚ค๊ธฐ

 

for (index in 10 downTo 0){
    Log.d("For", "ํ˜„์žฌ ์ˆซ์ž๋Š” $index")
}
  • ํฐ ์ˆ˜์—์„œ ์ž‘์€ ์ˆ˜๋กœ ๊ฐ์†Œ์‹œํ‚ค๋ฉด์„œ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰
  • ์ฆ๊ฐ€ํ•  ๋•Œ์™€ ๊ฐ™์ด step์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Œ

 

 

๋ฐฐ์—ด, ์ปฌ๋ ‰์…˜์— ๋“ค์–ด ์žˆ๋Š” ์—˜๋ฆฌ๋จผํŠธ ๋ฐ˜๋ณตํ•˜๊ธฐ

 

for (๋ณ€์ˆ˜ in ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜){
    // ์‹คํ–‰ ์ฝ”๋“œ
}



var arrayMonth = arrayOf("JAN", "FEB", "MAR", "APR", "MAY", "JUN")
for (month in arrayMonth){
    Log.d("for", "ํ˜„์žฌ ์›”์€ ${month}์ž…๋‹ˆ๋‹ค.")
}

// arrayMonth์— ๋‹ด๊ฒจ ์žˆ๋Š” ์—˜๋ฆฌ๋จผํŠธ๋“ค์„ month ๋ณ€์ˆ˜์— ๋‹ด์€ ํ›„์— ๋กœ๊ทธ๋กœ ์ถœ๋ ฅ
  • ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์„ ์—˜๋ฆฌ๋จผํŠธ์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ์‚ฌ์šฉ
  • ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋ณด๋‹ค ๋” ํŽธํ•˜๊ณ  ๊ฐ€๋…์„ฑ๋„ ์ข‹์Œ

 

 

 


while ๋ฐ˜๋ณต๋ฌธ

 

while (์กฐ๊ฑด์‹) {
    // ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€๋Š” ๊ณ„์† ๋ฐ˜๋ณต
}


var a = 1
while (a == 1) {
    Log.d("while", "์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ์—ฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•˜์„ธ์š”!")
}

// ๋ฌดํ•œ ๋ฃจํ”„ ์˜ˆ์ œ
  • for ๋ฌธ์ด ํŠน์ • ๋ฒ”์œ„๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ์ด๋ผ๋ฉด, while ๋ฌธ์€ ํŠน์ • ์กฐ๊ฑด์ด ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ
  • ๋ฐ˜๋ณต์ด ๊ฐ€๋Šฅํ•œ if ๋ฌธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฌ์›€
  • while ๋ฌธ ๊ด„ํ˜ธ ์•ˆ์˜ ์กฐ๊ฑด์‹ ๊ฒฐ๊ณผ๊ฐ€ ํ•ญ์ƒ true์ด๋ฉด ๋์—†์ด ๋™์ž‘ํ•˜๋Š” ๋ฌดํ•œ๋ฃจํ”„์— ๋น ์ง

 

 

์ผ๋ฐ˜์ ์ธ while ๋ฐ˜๋ณต๋ฌธ

 

var current = 1
var until = 12
while (current < until) {
    Log.d("while", "ํ˜„์žฌ ๊ฐ’์€ ${current}์ž…๋‹ˆ๋‹ค.")
    current = current + 1
}

//current ๋ณ€์ˆ˜๊ฐ€ ์ธ๋ฑ์Šค์˜ ์—ญํ•  ์ˆ˜ํ–‰
  • for ๋ฌธ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์ฆ๊ฐ๋˜๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์žˆ์œผ๋ฉด ์ฝ”๋“œ์—์„œ ์ง์ ‘ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•จ

 

 

do ~ while

 

var game = 1
var match = 6
do {
    Log.d("while", "${game}๊ฒŒ์ž„ ์ด๊ฒผ์Šต๋‹ˆ๋‹ค. ์šฐ์Šน๊นŒ์ง€ ${match-game}๊ฒŒ์ž„ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค.")
    game +=1
} while (game < match)
  • do์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด while ๋ฌธ์˜ ์กฐ๊ฑด์‹๊ณผ ๊ด€๊ณ„์—†์ด do ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ๋จผ์ € ํ•œ ๋ฒˆ ์‹คํ–‰

 

 

break, continue : ๋ฐ˜๋ณต๋ฌธ ์ œ์–ดํ•˜๊ธฐ

 

for (index in 1..10){
    Log.d("break", "ํ˜„์žฌ index๋Š” $index ์ž…๋‹ˆ๋‹ค.")
    if (index > 5){
        break
    }
} 
// index๊ฐ€ 6์ด ๋˜์—ˆ์„ ๋•Œ ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœ (์—ฌ์„ฏ๋ฒˆ์งธ ๋กœ๊ทธ๊ฐ€ ์ฐํžŒ ํ›„์— for ๋ธ”๋ก์„ ๋น ์ ธ๋‚˜๊ฐ)


for (exceptin 1..10) {
    if (except > 3 && except < 8){
        continue
    }
    Log.d("continue", "ํ˜„์žฌ index๋Š” $except ์ž…๋‹ˆ๋‹ค.")
} 
// except๊ฐ€ 3๋ณด๋‹ค ํฌ๊ณ  8๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋กœ๊ทธ๋ฅผ ์ฐ์ง€ ์•Š๊ณ  for ๋ฌธ์˜ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ
// 4, 5, 6, 7์€ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Œ
  • break: ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœํ•˜๊ธฐ
    ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ break๋ฅผ ๋งŒ๋‚˜๋ฉด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ˜๋ณต๋ฌธ์„ ํƒˆ์ถœ
  • continue: ๋ฐ”๋กœ ๋‹ค์‹œ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๊ฐ€๊ธฐ
    ๋ฐ˜๋ณต๋ฌธ ๋‚ด์—์„œ continue๋ฅผ ๋งŒ๋‚˜๋ฉด continue ๋‹ค์Œ ์ฝ”๋“œ๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ฐ˜๋ณต๋ฌธ์˜ ์ฒ˜์Œ์œผ๋กœ ๋Œ์•„๊ฐ

 

 

 

 

 

 

 

 

 

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T