Kotlin에서 제어문은 조건문과 반복문이 있다. 이번 포스팅에서는 조건문 when, if-else문에 대해서 다룰 것이다.
1. when문
when문은 다중 선택문으로 Java의 switch문이라고 보면 된다.
when문의 형식
when (조건을 검사할 값) {
case1 -> {
동작1
}
case1 -> {
동작2
}
else -> { 동작3 }
}
동작할 코드가 한줄이면 중괄호는 생략 가능하다. 하지만 여러 코드가 실행되어야 한다면 꼭 중괄호를 써야한다. 그렇지 않으면 에러나니 조심하자.
기본 사용법
해당하는 값을 찾지 못했을 시 else로 넘어간다. 그러니 꼭 when문을 사용할때는 else를 같이 써줘야한다. else를 써주지 않으면 에러가 나니 조심하자.
만약 value를 10으로 변경한다면 else가 실행되어 "없음"을 출력하게 된다.
식으로 표현
이렇게 식으로도 표현할 수 있다. 위 코드에서 y는 x가 12일때 12!(String)를 할당된다. 만약 12가 없으면 x(Int)가 할당되게 된다.
2. if-else문
if-else문은 말 그대로 조건문이다. 프로그래밍을 몰라도 if는 만약 ~이면, else는 또 다른으로 해석되기 때문에 영어만 알면 대충 뭔지는 짐작이 갈거다.
if-else문의 형식
if (조건) {
참일 경우 동작
} else {
아닐 경우 동작
}
동작할 코드가 한줄이면 중괄호 제거가 가능하다. if-else문은 조건식의 반환 결과가 Boolean 타입이어야만 한다. 그래야 참인지 거짓인지 알수 있으니까.
if의 조건식이 참이 아니라 거짓이면 else로 간다. when문과 달리 else를 꼭 써주지 않아도 된다. 하지만 식으로 표현할 때는 써줘야 한다.
if-else 기본 사용법
위 코드를 보면 if문에서 조건이 'x가 18보다 크거나 같다면'이고 참과 거짓으로 나눌 수 있기 때문에 옮바른 조건식이다. 해당 조건은 참이므로 해당 블록({ })를 실행하게 된다.
만약 조건이 x <= 18이면 else로 가서 x를 출력하게 된다. 조건이 참인 순간 해당 블록에 동작할 코드를 실행하고 if문을 빠져나온다. 모든 조건에 부합하지 않으면 무조건 else로 간다.
else-if
else-if는 if문의 조건을 여러개 붙일 수 있다.
x는 10이다. 첫번째 조건은 거짓이 나오고 두번째 조건은 x가 10과 같으니까 참으로 나온다. 그 외 아래에 있는 조건들은 수행하지 않고 if문을 빠져나온다.
식으로 표현
when문 처럼 식으로도 표현 가능하다.
잘못된 부분이나 부족한 부분이 있을 수 있습니다. 댓글로 남겨주시면 감사하겠습니다.
'Kotlin' 카테고리의 다른 글
[Kotlin] 제어문(2) - 반복문(while, for) (1) | 2024.11.15 |
---|---|
[Kotlin] 배열(Array) (0) | 2024.11.14 |
[Kotlin] 형변환과 Null 안전성(Null Safety) (0) | 2024.11.14 |
[Kotlin] 자료형과 연산자 (0) | 2024.11.12 |
[Kotlin] 변수와 상수 (7) | 2024.11.11 |