Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코틀린
- 안드로이드스튜디오
- 자료구조
- Android
- CS
- 안드로이드
- Kotlin
- 코테
- 스터디
- 자바
- 혼공파
- 티스토리챌린지
- join
- MySQL
- 혼공챌린지
- 정처기
- 정보처리기사
- groupby
- 프로그래머스
- 혼공단
- 기술면접
- java
- 오블완
- 인프런
- doitandroid
- select
- Til
- SQL
- 카카오코테
- 알고리즘
Archives
- Today
- Total
Welcome! Everything is fine.
[Kotlin] 5강. 코틀린에서 조건문을 다루는 방법 본문
728x90
* 인프런 강의 - 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)을 듣고 정리한 내용입니다.
🔗 4강 내용
5강. 코틀린에서 조건문을 다루는 방법
if문
코틀린에서의 if문은 자바와 거의 차이가 없다.
단, if-else는 자바에서 Statement, 코틀린에서는 Expression이다!
이게 무슨 말이냐면...
Expression과 Statement
Statment와 Expression은 다음과 같이 설명할 수 있다. Statement 안에 Expression이 있다는 것으로 이해하자!
- Statement : 프로그램의 문장, 하나의 값으로 도출되지 않는 것도 Statement
- Expression : 반드시 하나의 값으로 결과가 도출되는 문장
자바에서는 3항 연산자가 Expression이라고 볼 수 있다.
그러나 앞서 말했던 것처럼 코틀린에서 if-else는 Expression이다. 따라서 코틀린에서 3항 연산자는 없다.
바로 아래 코드와 같이 if-else문 앞에 return을 붙여 중복되는 return을 제거할 수 있다.
fun getPassOrFail(score: Int): String {
return if (score >= 50) {
"P"
} else {
"F"
}
}
어떤 값이 특정 범위에 포함되어있는지 확인할 때, 코틀린에서는 in과 ..으로 간단하게 나타낼 수 있다.
if (score !in 0..100) {
throw IllegalArgumentException("score의 범위는 0부터 100입니다.")
}
switch와 when
코틀린에서는 switch case문 대신 when문을 사용한다. when을 통해 나온 결과를 바로 return 할 수 있다.
when(score/10) {
9 -> "A"
8 -> "B"
7 -> "C"
else -> "D"
}
혹은 다음과 같이 다양한 조건을 가지고 분기할 수도 있다.
when(score) {
in 90..99 -> "A"
in 80..89 -> "B"
in 70..79 -> "C"
else -> "D"
}
when문의 조건부에서는 어떠한 Expression이라도 들어갈 수 있고, 여러 개의 조건을 동시에 검사할 수도 있다.
또는 다음과 같이 when에 값을 넣지 않고 자바에서의 early return처럼 활용할 수 있다.
when {
number == 0 -> println("0입니다.")
number % 2 == 0 -> println("짝수입니다.")
else -> println("홀수입니다.")
}
'Kotlin' 카테고리의 다른 글
[intellij] 인텔리제이 프로젝트창이 보이지 않을 때 (1) | 2023.12.06 |
---|---|
[Kotlin] 6강. 코틀린에서 반복문을 다루는 방법 (0) | 2023.12.06 |
[Kotlin] 4강. 코틀린에서 연산자를 다루는 방법 (0) | 2023.12.02 |
[Kotlin] 3강. 코틀린에서 Type을 다루는 방법 (0) | 2023.11.28 |
[Kotlin] 2강. 코틀린에서 null을 다루는 방법 (1) | 2023.11.28 |