본문 바로가기
Programming/Kotlin (Android)

[Kotlin] 조건문, 반복문

by Skogkatt의 개인 블로그 2020. 4. 25.
반응형

Control Flow: if, when, for, while - https://kotlinlang.org/docs/reference/control-flow.html#if-expression

 

Returns and Jumps / Break and Continue Labels - https://kotlinlang.org/docs/reference/returns.html


조건문

if

var a = 10
if(a > 10) {
print(">10")
} else if(a == 10 {
print("=10")
} else {
print("<10")
}

When

// when 조건이 참이면 해당 구문 실행, 다수의 참 발생 시 먼저 나오는 구문 실행
var a:Any = 1
when(a) {
1 -> println(1)
"1" -> println("1")
is Int -> println("int")
else -> println("else") //어느것도 만족하지 않을 때
} //1
var a:Any = 1
var whenResult = when(a) {
is Int -> "int"
1 -> 1
"1" -> "1"
else -> "else"
}
println(whenResult) // int

 


 

반복문

while, do-while

var a = 10
while(a < 10){
println(a++)
} // 1 2 3 ... 10
var a = 10
// 최초 한번 println(a++) 실행 후 while 동작
do{
println(a++)
} while(a < 10)

for

//step 생략 시 1
for(i in 0..10 step 2){
println(i)
} // 0 2 4 6 8 10
for(i in 10 downTo 0 step 2){
println(i)
} // 10 8 6 4 2 0
for(i in 'a'..'d'){
println(i)
} // a b c d
//step 생략 시 1
for(i in 0..10 step 2){
println(i)
} // 0 2 4 6 8 10
for(i in 10 downTo 0 step 2){
println(i)
} // 10 8 6 4 2 0
for(i in 'a'..'d'){
println(i)
} // a b c d

Break and Continue Labels

break, continue
for(i in 1..100){
println(i)
} // 1 2 3 4 ... 100
for (i in 1..100) {
if(i == 5) break
println(i)
} // 1 2 3 4 5
for (i in 1..100) {
if(i == 5) continue // 5를 건너뜀
println(i)
} // 1 2 3 4 6 7 8 ... 100
Break and Continue Labels
// loop@ 라벨을 사용하면 각각의 반복문에 따로 break/continue를 명시할 필요가 없어짐
loop@ for (i in 1..100) {
for (j in 1..100) {
if (i == 1 && j == 5) break@loop
println("$i, $j")
}
} // 1, 1 1, 2 1, 3 1, 4

 

반응형

댓글