Just a Blog

개인적인 코틀린(Kotlin) 정리 (3) - 반복문, 제어구조 본문

IT, Computer

개인적인 코틀린(Kotlin) 정리 (3) - 반복문, 제어구조

wehong 2021. 4. 20. 22:53

1. 반복문 (Loop)

 

(1) while

Java와 거의 동일하다.

while (a < 10) {

x = a * 5

a += 1

}

 

(2) for

Java의 새로운 for 루프문과 거의 동일하다. 즉, iterator를 구현한(hasNext()와 next()를 제공) 오브젝트를 대상으로 순환하도록 한다. 

C 언어 스타일의 for 문(예. for(i = 0; i++; i<9)...)은 없다.

val arr = arrayOf(1, 2, 3)

for (n in arr) {                   (array에 대한 for 루프)

println(n)

}

 

val ext = 1..9                     (범위(range)에 대한 for 루프)

for (i in ext) {

println(i)

}

 

 

2. 제어구조 (Control Flow)

 

(1) if / else if / else 조건문

Java와 거의 유사하다.

if (age > 50) {

...

} else if (age > 30) {

...

} else {

...

}

 

(2) try / catch / finally

Java와 거의 유사하다

try {

...

} catch(e: Exception) {

...

} finally {

...

}

 

(3) 'when (값)' 구문

Java의 'switch / case' 문과 유사하게 사용할 수 있다(when 구문은 다른 방식의 사용법도 존재한다). 'switch / case' 구문의 'default'와 유사한 개념으로 'else'를 사용할 수 있다.

when (x) {

0 -> println("zero")

1 -> println("one")

else -> println("else")

}

 

(4) expression으로 사용 가능

Kotlin에서 'if / else', 'try / catch', 'when (값)' 구문은 어떤 조건을 판별해 분기할 때 사용할 뿐만 아니라, 값을 평가하는 expression으로도 사용될 수 있다.

val status = if (cond > temp) true else false     (status 변수의 Boolean 값은 if 문 조건에 따라 선택됨)

 

val result = try {                                                (readFile() 수행 중 exception이 발생하지 않으면 true, 발생하면 false)

readFile()

true

} catch (e: IOException) {

false

}

 

val test = when (x) {                                         (test 변수는 x 값에 따라 true 또는 false 값을 갖는다)

0 -> false

1 -> true

else -> false

}

 

 

Comments