kotlin은 조건문을 수행하기 위해 if
와 when
을 제공한다.
IF
if
를 사용하기 위해서 조건문은 parentheses ()
안에 기재하고 true
일 경우 수행할 action은 curly braces {}
아에 기재한다.
val d: Ind
val check = true
if(check) {
d = 1
} else {
d = 2
}
println(d)
kotlin에는 3항연산자 condition ? then : else
제공하지 않는다. 대신 비슷하게 {}
를 사용하지 않는if
문으로 구현할 수 있다.
val a = 1
val b = 2
println(if(a>b) a else b)
다양한 분기가 있는 조건식을 사용할 때는 when
문을 사용한다. when
은 statement(선언문?)로 사용하거나 표현식으로 사용할 수 있다.
조건식은 ()
안에, 수행할 작업은 {}
안에 배치한다.
각 브랜치에서 ->
를 사용하여 각 조건과 각 작업을 분리한다.
val obj = "Hello"
when (obj) {
"1" -> println("One")
"Hello" -> println("Greeting")
else -> println("Unknown")
}
모든 브랜치 조건중 하나가 만족될때까지 모든 분기가 순차적으로 확인된다. 따라서 적합한 첫 번째 브랜치만 수행된다.
//when문을 표현식으로 사용하는 방법
val obj = "Hello"
val result = when (obj) {
"1" -> "One"
"Hello" -> "Greeting"
else -> "Unknown"
}
println(result)
when
이 표현식으로 사용되는 경우, 컴파일러가 모든 경우를 감지할 수 없다면 else 브랜치는 필수적이다.
when
은 boolean 표현식의 체인 확인하는데에도 유용하다.
val temp = 18
val description = when {
temp < 0 -> "very cold"
temp < 10 -> "a bit cold"
temp < 20 -> "warm"
else -> "hot"
}
kotlin에서 범위를 만드는 가장 일반적인 방법은 ..
연산자를 사용하는 것이다.
마지막 값을 포함하지 않는 범위를 선언하기 위해서 ..<
연산자를 사용한다.
역순의 범위를 선언하기 위해서 downTo
를 사용한다.
범위의 스텝을 선언해주기 위해 step
을 사용한다.
프로그래밍에서 일반적인 두개의 반복구조는 for
와 while
이다.
일정한 범위를 반복하기 위해서는 for
를 사용하고 특정한 조건을 만족하는 동안 반복하기 위해서는 while
을 사용한다.
for
내가 수행하는 횟수를 알고 있을때,while
은 수행하는 횟수를 모르는 경우 사용한다고 생각하면 이해하기 쉽다.
For
for (number in 1..5) {
println(number)
}
//Collection can also be iterated over by loops
val cakes = listOf("carrot", "cheese", "chocolate")
for (cake in cakes) {
println("yummy, it's a $cake cake!")
}
While
while
은 두가지 방법으로 사용할 수 있다.
true
동안 반복해서 code block을 수행한다.true
인 동안 반복한다.//1
var cakesEaten = 0
while (cakesEaten < 3) {
println("Eat a cake")
cakesEaten++
}
//2
var cakesEaten = 0
var cakesBaked = 0
while (cakesEaten < 3) {
println("Eat a cake")
cakesEaten++
}
do {
println("Bake a cake")
cakesBaked++
} while (cakesBaked < cakesEaten)