๐ŸŽˆKotlin ์—ฌํ–‰๊ธฐ 3์ผ์ฐจ

์ดํ˜•์ง„ยท2020๋…„ 9์›” 20์ผ
0

์ฝ”ํ‹€๋ฆฐ ์—ฌํ–‰๊ธฐ

๋ชฉ๋ก ๋ณด๊ธฐ
3/5

์ง€๋‚œ ์—ฌํ–‰

  • ์ œ์–ด ํ๋ฆ„(if๋ฌธ, when๋ฌธ)
  • ์—˜๋น„์Šค ์—ฐ์‚ฐ์ž
  • ๋ฐฐ์—ด
  • Collection,MutableCollection

์˜ค๋Š˜ ๊ฐ€๋ณธ ๊ณณ

๋ฐ˜๋ณต๋ฌธ

๋ฐ˜๋ณต๋ฌธ์€ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋ฐ˜๋ณต์ ์ธ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

for in ๋ฐ˜๋ณต๋ฌธ

for in ๋ฐ˜๋ณต๋ฌธ์€ for(๋ณ€์ˆ˜ in ๋ฐ˜๋ณต ๋Œ€์ƒ๋ช…){์‹คํ–‰๋ฌธ}์˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋ฐ˜๋ณต ๋Œ€์ƒ์˜ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋งŒํผ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๋Œ€์ƒ ๊ฐ’์ด ๋ณ€์ˆ˜์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.
ex)

    val mNumList= mutableListOf<Int>(4,5,6,7)
    for (num in mNumList){
        println(num)
    }

์‹คํ–‰ ํ™”๋ฉด

Index ์‚ฌ์šฉํ•˜๊ธฐ

for((Index ๋ช…, ๋ณ€์ˆ˜) in ๋ฐ˜๋ณต ๋Œ€์ƒ๋ช….withIndex()){์‹คํ–‰๋ฌธ}์˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
ex)

    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    for ((index, num) in mNumList.withIndex()) {
        println("index = $index value = $num")
    }

์‹คํ–‰ ํ™”๋ฉด

forEach ๋ฐ˜๋ณต๋ฌธ

lambda๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ forEach๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋Œ€์ƒ๋ช….forEach{์‹คํ–‰๋ฌธ}์˜ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ  ์ด ๋•Œ ๊ฐ’์€ it์œผ๋กœ ๋“ค์–ด์˜ต๋‹ˆ๋‹ค.
๋Œ€์ƒ๋ช….forEach{๋ณ€์ˆ˜->์‹คํ–‰๋ฌธ}์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€์ˆ˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
ex)

    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    mNumList.forEach() { num -> println(num) }

์‹คํ–‰ ํ™”๋ฉด

index ์‚ฌ์šฉํ•˜๊ธฐ

๋ฐ˜๋ณต ๋Œ€์ƒ.forEachIndexed{index ๋ช…,๋ณ€์ˆ˜->์‹คํ–‰๋ฌธ}์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ex)

    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    mNumList.forEachIndexed { index, num -> println("index = $index value = $num") }

์‹คํ–‰ ํ™”๋ฉด

.. (~๊นŒ์ง€)

for(index in ์ดˆ๊ธฐ๊ฐ’ .. ๋ชฉํ‘ฏ๊ฐ’){์‹คํ–‰๋ฌธ}์˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
๋ชฉํ‘ฏ๊ฐ’ ๊นŒ์ง€ index๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉฐ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
ex)

    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    for (i in 0..mNumList.size-1){
        println(mNumList.get(i))
    }

์‹คํ–‰ ํ™”๋ฉด

until (~๋ฐ‘์œผ๋กœ)

for(index in ์ดˆ๊ธฐ๊ฐ’ until ๋ชฉํ‘ฏ๊ฐ’){์‹คํ–‰๋ฌธ}์˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
๋ชฉํ‘œ ๊ฐ’์˜ ๋ฐ‘๊นŒ์ง€ index๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉฐ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.(until 10์ด๋ผ๋ฉด 9๊นŒ์ง€)
ex)

    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    for (index in 0 until mNumList.size) {
        println(mNumList.get(index))
    }

์‹คํ–‰ ํ™”๋ฉด

downTo

์ง€๊ธˆ๊นŒ์ง€์˜ ๋ฐ˜๋ณต๋ฌธ์€ 0 ๋“ฑ์˜ ์ดˆ๊ธฐ ๊ฐ’๋ถ€ํ„ฐ index๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์ด์˜€๋‹ค, downTo๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋๋ถ€ํ„ฐ index๊ฐ€ ๊ฐ์†Œํ•˜๋Š” ๋ฐฉ์‹์˜ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
downTo๋Š” for(๋ณ€์ˆ˜ in ์ดˆ๊ธฐ๊ฐ’ downTo(๋ชฉํ‘ฏ๊ฐ’)){์‹คํ–‰๋ฌธ}์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
ex)


    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    for (index in mNumList.size - 1 downTo (0)) {
        println(mNumList.get(index))
    }

์‹คํ–‰ ํ™”๋ฉด

step

step์„ ์‚ฌ์šฉํ•˜๋ฉด index์˜ ์ฆ๊ฐ€, ๊ฐ์†Œ๋Ÿ‰์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.
for(์ฆ๊ฐ๋ฌธ step(์ฆ๊ฐ๋Ÿ‰))์˜ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
ex)

    val mNumList = mutableListOf<Int>(4, 5, 6, 7)
    for (i in 0 until mNumList.size step (2)){
        println(mNumList.get(i))
    }

์‹คํ–‰ ํ™”๋ฉด

while๋ฌธ

while๋ฌธ์€ ๋‹ค์Œ ์กฐ๊ฑด์‹์— ํ•ด๋‹น๋˜์ง€ ์•Š์„ ๋•Œ ๊นŒ์ง€ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
ํ˜•์‹์€ while(์กฐ๊ฑด๋ฌธ){์‹คํ–‰๋ฌธ}
ex)

    val b = 4
    var a = 1
    while (a < b) {
        println(a)
        a++
    }

์‹คํ–‰ ํ™”๋ฉด

์œ„ ์˜ˆ์‹œ์—์„œ ์กฐ๊ฑด๋ฌธ์€ "a๊ฐ€ b๋ณด๋‹ค ์ž‘๋‹ค"์ž…๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ a๊ฐ€ b๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€ ์‹คํ–‰๋ฌธ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
a๋ฅผ ์ถœ๋ ฅํ•œ ๋‹ค์Œ a์˜ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฏ€๋กœ a๊ฐ€ b์˜ ๊ฐ’์ธ 4๊ฐ€ ๋˜๋Š” ์ˆœ๊ฐ„, while๋ฌธ์€ ๋™์ž‘์„ ๋ฉˆ์ถฅ๋‹ˆ๋‹ค.

do while๋ฌธ

do while๋ฌธ์€ while๋ฌธ๊ณผ ๋™์ž‘ ๋ฐฉ์‹์€ ๊ฐ™์œผ๋‚˜ ์ผ๋‹จ ์‹คํ–‰๋ฌธ์„ ์‹คํ–‰ํ•˜๊ณ  ๋ฐ˜๋ณต์˜ ์กฐ๊ฑด์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
do{์‹คํ–‰๋ฌธ}while(์กฐ๊ฑด๋ฌธ)์˜ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
ex)

    val b = 1
    var a = 1
    do {
        println(a)
        a++
    } while (a < b)

์‹คํ–‰ ํ™”๋ฉด

์œ„ ์˜ˆ์‹œ์—์„œ ๋ฐ˜๋ณต์˜ ์กฐ๊ฑด์€ "a๊ฐ€ b๋ณด๋‹ค ์ž‘๋‹ค"์ž…๋‹ˆ๋‹ค.
a๋Š” b์™€ ๊ฐ™์œผ๋ฏ€๋กœ ๋ฐ˜๋ณต์˜ ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
ํ•˜์ง€๋งŒ do while๋ฌธ์—์„œ๋Š” ์ผ๋‹จ ์‹คํ–‰๋ฌธ์„ ํ•œ๋ฒˆ ์‹คํ–‰์‹œํ‚ค๊ธฐ์— a๊ฐ’์ด ํ•œ๋ฒˆ ์ถœ๋ ฅ๋œ ํ›„
while๋ฌธ์˜ ๋™์ž‘์„ ๋ฉˆ์ถ”๋Š” ๊ฒƒ์„ ๋ณด์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์˜ค๋Š˜์˜ ์†Œ๊ฐ

  • ๋ฐ˜๋ณต๋ฌธ์„ ์ž˜ ์ˆ™์ง€ํ•ด๋‘์ž.
  • ์˜ค๋Š˜์€ ๋”ด ์ง“ ํ•˜๋Š๋ผ ๊ณต๋ถ€๋ฅผ ๋งŽ์ด ๋ชป ํ•œ ๊ฒƒ ๊ฐ™์•„ ์•„์‰ฝ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€