for 문과 when 문
14 Apr 2019 | Kotlinfor 키워드
1 부터 10까지의 반복문은 다음과 같습니다. (1 <= i < 10)
for(i in 1..9) {
println(i)
}
또는 다음과 같이 사용할 수 있습니다.
for(i in 1 until 10) {
println(i)
}
만약 9 부터 1까지 거꾸로 내려가고 싶을 때는 다음과 같이 downTo 키워드를 사용합니다.
for(i in 9 downTo 1) {
println(i)
}
만약 증가폭을 특정 숫자만큼 하고 싶을 때는 step 키워드를 사용합니다.
for(i in 1 until 10 step 2) {
println(i)
}
ArrayList 등의 리스트를 사용할 경우 다음과 같이 for 문을 작성할 수 있습니다.
fun test() {
val list = ArrayList<String>()
list.add("Hello")
list.add("Nice to meet you")
list.add("Good bye")
for (i in 0 until list.size) {
println(list[i])
}
}
만약 iterator를 사용할 경우 다음과 같이 코드를 작성할 수 있습니다.
fun test() {
val list = ArrayList<String>()
list.add("Hello")
list.add("Nice to meet you")
list.add("Good bye")
for (text: String in list) {
println(text)
}
}
when 키워드
when은 Java에서의 switch와 사용법이 유사합니다.
fun test(menu: Int) {
when (menu) {
R.id.menu_start -> {
}
R.id.menu_stop -> {
}
}
}
break 구문 없이 중괄호({}) 만으로 분기를 나눌 수 있습니다. 중괄호 없이 사용하더라도 다음 -> 구문이 나올 때까지 실행합니다.
when 문 안에서 간단한 연산도 가능합니다.
fun main(args: Array<String>) {
test(2)
test(10)
test(4)
test(1)
}
fun test(menu: Int) {
when {
menu <= 3 -> {
println("$menu <= 3")
}
menu <= 7 -> {
println("3 < $menu <= 7")
}
else -> {
println("$menu > 7")
}
}
}