728x90
kotlinlang.org/docs/reference/control-flow.html#if-expression
kotlin 공식 홈페이지의 글을 정리해두었습니다.
if문
// 기본적인 사용 방법
if (a > b) {
max = a
} else {
max = b
}
코틀린의 조건문 중에는 삼항연산자가 없습니다. if, else가 삼항연산자의 역할을 충분히 해주기 때문에 없앤 문법입니다. 👍
//삼항연산자 대신
val max = if (a > b) a else b
이런식으로 변수에 어떤 값을 할당하려고 할 때 바로 if문을 사용할 수도 있습니다.👍
이 경우에는 return a가 아닌 a라고만 적어주면 되고,
변수가 값을 가지지 않는 경우가 발생하지 않도록 else도 꼭 사용해주어야합니다.
val max = if (a > b) {
//print("Choose a")
a
} else {
//print("Choose b")
b
}
print(max)
when
when이란 switch case문과 같은 것입니다.
<기본 형태>
when (x) {
1 -> print("x == 1")
2 -> print("x == 2")
else -> {
print("x is neither 1 nor 2")
}
}
// 여려 경우를 한 번에 처리 (',' 이용)
when (x) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}
// x에 있는 값이 1~10, 10~20, 20~30, 그 외일 때에 따라 다르게 작동
val validNumbers = 10..20
when (x) {
in 1..10 -> print("x is in the range")
in validNumbers -> print("x is valid")
!in 20..30 -> print("x is outside the range")
else -> print("none of the above")
}
// hasPrefix함수는 x가 string인지 아닌지에 따라 다르게 작동한다.
fun hasPrefix(x: Any) = when(x) {
is String -> {
x.startsWith("prefix")
println("string! aaaand prefix!")
}
else -> {
false
println("not string! false!")
}
}
elvis
kotlinlang.org/docs/reference/null-safety.html#elvis-operator
var n: Int? = null // ?를 사용해 null을 가질 수 있게 만들어준 후 null을 담아
var m = n?: 100 // n이 null이라면 m에는 100이 들어가고, null이 아니라면 n에 있는 값을 담아줌.
print(m)
elvis연산자를 이용해 null에 대응을 해줄 수 있다.👍👍
728x90
'kotlin > 문법' 카테고리의 다른 글
[kotlin] collection (List, Set, Map) (0) | 2021.01.14 |
---|---|
[kotlin] arrays 배열 (0) | 2021.01.14 |
[kotlin] Functions 함수 (0) | 2021.01.13 |
[kotlin] loop (반복문) for, while, do while (0) | 2020.12.30 |
[kotlin] 입출력과 사칙연산 (0) | 2020.12.23 |
댓글