본문 바로가기
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

 

반응형

댓글