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

๐Ÿ“ฑ/๐Ÿ“—Kotlin

[Kotlin] ์ œ์–ด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ

๐Ÿ’กif, when, for, while, do while, return, break, continue๐Ÿ’ก

 


โ–ช๏ธ์ œ์–ด๋ฌธ

 

if

· if๋ฌธ์€ if(์กฐ๊ฑด์‹)์˜ ํ˜•ํƒœ๋กœ ์“ฐ์ด๊ฒŒ ๋˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ์กฐ๊ฑด์‹์ด ์ฐธ(true)์ธ ๊ฒฝ์šฐ์—๋งŒ ํ•ด๋‹น if๋ฌธ์˜ ์ฝ”๋“œ๋งŒ ์‹คํ–‰๋œ๋‹ค.

· ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ์ฒซ ๋ฒˆ์งธ if๋ฌธ์˜ ์กฐ๊ฑด์‹๋งŒ ์ฐธ์ด๊ธฐ ๋•Œ๋ฌธ์— '10์ž…๋‹ˆ๋‹ค'๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

val num = 10

if(num == 10) {
    println("10์ž…๋‹ˆ๋‹ค")
}

if(num != 10) {
    println("10์ด ์•„๋‹™๋‹ˆ๋‹ค")
}

 

else

· if๋ฌธ๊ณผ ๋ฐ˜๋“œ์‹œ ํ•จ๊ป˜ ์“ฐ์—ฌ์•ผ ํ•˜๋ฉฐ if๋ฌธ์˜ ์กฐ๊ฑด์‹ ์ค‘ ์ฐธ์ด ์—†์„ ๊ฒฝ์šฐ else๋ฌธ์ด ์‹คํ–‰๋œ๋‹ค.

val num = 10

if(num == 20) {
    println("20์ž…๋‹ˆ๋‹ค")
} else {
    println("10์ž…๋‹ˆ๋‹ค")
}

 

else if

· if๋ฌธ๊ณผ ํ•จ๊ป˜ ์“ฐ์ด๋ฉฐ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ๊ฑธ ์ˆ˜ ์žˆ๋‹ค.

if(num == 50) {
    println("50์ž…๋‹ˆ๋‹ค")
} else if(num == 40) {
    println("40์ž…๋‹ˆ๋‹ค")
} else if(num == 30) {
    println("30์ž…๋‹ˆ๋‹ค")
} else if(num == 20) {
    println("20์ž…๋‹ˆ๋‹ค")
} else if(num == 10) {
    println("10์ž…๋‹ˆ๋‹ค")
} else {
    println("๋‹ค ์•„๋‹™๋‹ˆ๋‹ค")
}

 

 

· if๋ฌธ์„ ์ด์šฉํ•ด ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜์— ํ•ด๋‹น ๋‚ด์šฉ์„ ๋„ฃ์–ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

val num = 10

var string = if(num == 100) "100์ž…๋‹ˆ๋‹ค" else "100์•„๋‹™๋‹ˆ๋‹ค"

println(string)

 

when

· when์˜ ์กฐ๊ฑด์‹์—๋Š” ๋ณ€์ˆ˜๋‚˜ ์ˆ˜์‹์ด ๋“ค์–ด๊ฐ„๋‹ค.

· ์ˆ˜ํ–‰ ๋  ์ฝ”๋“œ๊ฐ€ ํ•œ ์ค„์ด๋ผ๋ฉด ๊ด„ํ˜ธ๋Š” ๋นผ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋‘์ค„ ์ด์ƒ์ด๋ผ๋ฉด ๊ด„ํ˜ธ๋กœ ๋ฌถ์–ด์ค˜์•ผ ํ•œ๋‹ค.

· ๋ชจ๋“  ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด else์˜ ์ฝ”๋“œ๋“ค์ด ์‹คํ–‰๋˜๋ฉฐ ํ•„์š” ์—†๋‹ค๋ฉด else๋ฅผ ๋นผ๊ณ  ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค.

val num = 100

when(num) {
    1 -> println("num์€ 1์ž…๋‹ˆ๋‹ค.")
    10 -> println("num์€ 10์ž…๋‹ˆ๋‹ค.")
    100 -> println("num์€ 100์ž…๋‹ˆ๋‹ค.")
    else -> {
        println("๋ชจ๋‘ ์•„๋‹™๋‹ˆ๋‹ค.")
        println("๋ชจ๋‘ ์•„๋‹ˆ๋ผ๊ตฌ์š”.")
    }
}

 

 

· when์€ ํ•จ์ˆ˜์— ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

· ์—ฌ๊ธฐ์„œ else๋Š” ํ•„์ˆ˜์ด๋‹ค.

val num = 100

fun setString(num : Int) = when(num) {
    100 -> println("๋งž์Šต๋‹ˆ๋‹ค")
    else -> println("ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค")
}

setString(num)

 

 

โ–ช๏ธ๋ฐ˜๋ณต๋ฌธ

 

for

· for(๋ณ€์ˆ˜ in ๋ฐฐ์—ด)์˜ ํ˜•์‹์œผ๋กœ ์“ฐ์ด๋ฉฐ ๋ฐฐ์—ด์˜ ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•œ๋‹ค.

· ๋ฐฐ์—ด์€ ์‰ฝ๊ฒŒ ๋งํ•ด ๊ฐ’๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š” ์š”์†Œ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

var num = 1..10

for(item in num) {
    print("$item, ")
}

 

· step์„ ์‚ฌ์šฉํ•˜๋ฉด ์›ํ•˜๋Š” ์ˆ˜๋งŒํผ ์ฆ๊ฐ€์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

var num = 1..10 step 2

for(item in num) {
    print("$item, ")
}

 

· downTo๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด 1์”ฉ ๊ฐ์†Œํ•œ๋‹ค.

var num = 10 downTo 1

for(item in num) {
    print("$item, ")
}

 

· downTo์—๋„ step์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์›ํ•˜๋Š” ์ˆ˜๋งŒํผ ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

var num = 10 downTo 1 step 2

for(item in num) {
    print("$item, ")
}

 

while

· while์€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋œ๋‹ค.

· ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์œผ๋ฉฐ ์ฐธ์ผ ๊ฒฝ์šฐ ๋ฌดํ•œ ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งœ์•ผํ•œ๋‹ค.

var num = 0

while(num <= 10) {
    print("$num, ")
    num++
}

 

do while

· ์กฐ๊ฑด์‹์ด ํ•˜๋‹จ์— ์žˆ์œผ๋ฏ€๋กœ ๊ฑฐ์ง“์ด๋ผ๋„ ๋‹จ ํ•œ ๋ฒˆ์€๋ฌด์กฐ๊ฑด ์ˆ˜ํ–‰๋œ๋‹ค.

var num = 0

// ์ฐธ์ผ ๊ฒฝ์šฐ
do {
    print("$num, ")
    num++
} while(num <= 10)

println("\nโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€")

// ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ
do {
    print("$num, ")
    num++
} while(num > 100)

 

 

โ–ช๏ธ๋‹ค์–‘ํ•œ ์ œ์–ด๋ฒ•๋“ค

 

return

· ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ธ ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ตฌ๋ฌธ์ด๋‹ค.

· ํ•จ์ˆ˜์— ์ˆ˜ํ–‰ํ•  ์ฝ”๋“œ๊ฐ€ ๋‚จ์•„ ์žˆ๋”๋ผ๋„ ํ•จ์ˆ˜๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ์ชฝ์œผ๋กœ ๋˜๋Œ์•„๊ฐ„๋‹ค.

fun main() {
    var num = function1(10)
    println("num : $num")
}

fun function1(n : Int) : Int {
    println("function1 ํ˜ธ์ถœ")

    // n์ด 10์ด๊ธฐ๋•Œ๋ฌธ์— return -1์„ ๋งŒ๋‚˜ num์—๋Š” -1์ด ๋“ค์–ด๊ฐ
    if(n == 10) {
        return -1
    }

    // ์œ„์—์„œ return์„ ๋งŒ๋‚ฌ๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜ ์ฝ”๋“œ๋“ค์€ ์‹คํ–‰๋˜์ง€ ์•Š์Œ
    return n + 100
}

 

break

· ๋ฐ˜๋ณต๋ฌธ์—์„œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ๋‚ฌ์„ ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

· ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋‚จ์•„ ์žˆ๋”๋ผ๋„ ์ข…๋ฃŒ๋œ๋‹ค.

var num = 1..10

for(item in num) {
    print("$item, ")
	
    // item์ด 5์ผ๊ฒฝ์šฐ ๋ฐ˜๋ณต๋ฌธ ์ข…๋ฃŒ
    if(item >= 5) {
        break
    }
}

 

continue

· ๋ฐ˜๋ณต๋ฌธ์—์„œ continue ์ดํ›„์— ์ฝ”๋“œ๊ฐ€ ์žˆ๋”๋ผ๋„ ๋‹ค์Œ ๋ฐ˜๋ณต ๋ถ€๋ถ„์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.

var num = 1..10

for(item in num) {
    // item์ด 2์™€ ๋‚˜๋ˆด์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด๋ฉด ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ
    if(item % 2 == 0) {
        continue
    }

    print("$item, ")
}