반응형
기본적으로 많이 사용하는 조건문
var data = 1
if(data > 1) {
println('data > 1')
} else if (data > 0 && data <= 1) {
println('else')
} else {
println('etc')
}
}
// 결과
// else
여기부터 특이한 조건문이 시작
if ~ else 표현식
결괏값을 반환하는 계산식
항상 else 문이 있어야 사용 가능하다
결괏값 반환값은 항상 마지막 줄이된다.
var data = 1
val result = if (data > 0) {
println('success')
true
} else {
println('fail')
false
}
println(result)
}
// 결과
// success
// true
When 조건문
스위치 구문과 비슷한데 왜 만드건지?
소괄호 ( ) 안에 넣은 데이터가 조건이 되고
이값에 따라 각 구문을 실행한다.
- 정수가 아닌 다른 타입의 데이터를 지정도 가능하다.
- 조건문을 생략해서 사용도 가능하다
- else문을 생략도 가능하다.
var data = 1
when(data) {
1 -> println('it is 1')
2 -> println('it is 2')
else -> {
println('data is invalid')
}
}
}
// 결과
// it is 1
var data = 'hi'
when(data) {
'hi' -> println('it is hi')
'hello' -> println('it is hello')
else -> {
println('data is invalid')
}
}
}
// 결과
// it is hi
var data:any = 1
when(data) {
'hi' -> println('hi면 출력')
'2, 3' -> println('2 나 3 이면 출력')
in 1..10 -> println('1~10 중 있으면 출력')
else -> {
println('data is invalid')
}
}
}
// 결과
// 1~10 중 있으면 출력
var data:any = 1
when {
'hi' -> println('hi면 출력')
'2, 3' -> println('2 나 3 이면 출력')
in 1..10 -> println('1~10 중 있으면 출력')
else -> {
println('data is invalid')
}
}
}
// 결과
// 1~10 중 있으면 출력
728x90