if ( 조건식 ) {
코드
}
if ( 조건식 ) {
}
else {
}
if ( 조건식 1 ) {
}
else if( 조건식 2 ) {
}
else {
}
var test1:String = ""
val test2:Int = 10;
if(test2 == 10){
test1 = "10 입니다"
} else {
test1 = "10이 아닙니다"
}
println("test1 : $test1")
val test2:Int = 10
val test3:String = if (test2 == 10) "10 입니다" else "10이 아닙니다"
println("test3 : $test3")
Java에 Switch가 있다면 kotlin에는 대신 when이 있다.
when( 변수 or 수식 ) {
값1 -> 코드
값2 -> 코드
}
val a1 = 10
when(a1){
// 수행될 코드가 한줄만 있다면 { }를 생략한다.
1 -> println("a1은 1입니다")
// 수행될 코드가 두 줄 이상이면 { }로 묶어준다.
5 -> {
println("a1은 5입니다")
println("코드가 두 줄")
println("코드가 세 줄")
}
10 -> println("a1은 10입니다")
else -> println("a1은 1, 5, 10이 아닙니다")
}
val a2 = 3
when(a2){
1, 2 -> println("a2는 1이거나 2입니다")
3, 4 -> println("a2는 3이거나 4입니다")
5, 6 -> println("a2는 5이거나 6입니다")
else -> println("a2는 1, 2, 3, 4, 5, 6이 아닙니다")
}
→ 문자열, 실수, 정수 가능 | 논리값 ❌ 불가능
val a5 = 5
when(a5){
in 1..3 -> println("a5는 1부터 3사이입니다")
in 4..6 -> println("a5는 4부터 6사이입니다")
in 1..6 -> println("a5는 1부터 6사이입니다")
else -> println("a5는 1 ~ 6사이의 숫자가 아닙니다")
}
fun 함수명(변수) = when(변수){
값1 -> 코드
값2 -> {
코드
}
else -> 코드
}
fun main(){
val str1 = setValue(4)
print(str1)
}
fun setValue(a1:Int) = when(a1){
1 -> "문자열1"
2 -> {
println("두 번째 경우의 수")
"문자열2"
}
else -> "그 외의 문자열"
}