in 숫자..숫자 형식으로 숫자의 범위를 지정
is는 타입을 체크
when은 C나 Java에서의 switch~case문과 동일하게 여겨진다.
->의 왼쪽은 조건, 오른쪽은 실행될 문장을 의미
// when문 in 사용
val age = 21
when(age){
// with the !in it's the same as saying not in ...
!in 0..20 -> println("now you may drink in the US")
in 18..20 -> println("now you may vote")
16,17 -> println("you now may drive")
else -> println("you're too young")
}
// when문 is 사용
var x : Any = 13.37
when(x) {
is Int -> println("$x is an Int")
!is Double -> println("$x is not Double")
is String -> println("$x is a String")
else -> println("$x is none of the above")
}
now you may drink in the US
13.37 is none of the above
do-while문은 do안에 문장이 무조건 한 번 실행되고 조건을 검사하기 때문에 출력결과가 12가 나온다.
while문은 조건을 검사하면서 반복하는 것으로 do-while문과 다르게 조건을 먼저 검사하고 조건이 거짓이 될 때 까지 반복한다.
// do while문
var z = 12
do {
print("$z ")
z++
} while(z <= 10)
println()
// while문 사용
var feltTemp = "cold"
var roomTemp = 10
while (feltTemp == "cold"){
roomTemp++
if(roomTemp == 20){
feltTemp = "comfy"
println("it's comfy now")
}
}
12
it's comfy now
kotlin에서의 for문은 파이썬과 좀 유사한 것 같다.
사용법은 아래 입력 예제로보면 알 수 있다. in, until, downTo, step 등의 키워드를 알아두자.
fun main() {
for(num in 1..10) {
print("$num ")
}
println()
for(i in 1 until 10) { // Same as - for(i in 1.until(10))
print("$i ")
}
println()
for(i in 10 downTo 1) { // Same as - for(i in 10.downTo(1))
print("$i ")
}
println()
for(i in 1 until 10 step 2) { // Same as - for(i in 1.until(10).step(2))
print("$i ")
}
}
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9
10 9 8 7 6 5 4 3 2 1
1 3 5 7 9
Reference
Book: 깡샘의 안드로이드 앱 프로그래밍 with 코틀린