[Kotlin] 조건문
코틀린 코드를 연습해볼 수 있는 공식사이트
1. If 문
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var x = 5
var y = 10
if (x < 10) x = 7
if (x > y) {
println(x)
} else if (x == y) { // 두 번째 조건 판별
println(y)
} else { // 모든 조건에 맞지 않을 때
println("$x $y")
}
// if문의 결과를 바로 변수값에 할당 가능하다
val max = if (a > b) {
a
} else {
b
}
1.1. If 표현식(삼항연산자)
Java에서는
(
조건)
?
true인 경우 값:
false인 경우 값
으로 삼항연산자를 사용했다
Kotlin에서는
if
(
조건)
true인 경우 값else
false인 경우 값
형태로 파이썬과 유사하지만 순서가 다르다
1
2
3
4
5
6
7
8
9
10
11
// Kotlin 삼항연산자
var a = if (5 < 4) 50 else 40
// else if도 사용가능하다
val c = if (x > a) c else if (a > b) a else b
// Java 삼항연산자
int j = (5 < 4) ? 50 : 40;
// Python 삼항연산자
p = 50 if 5 < 4 else 40
2. When 문
java의 switch-case, python의 match-case처럼 여러 분기 조건 중 충족되는 분기를 실행하는 조건문이다
표현식(expression)으로 사용될 경우에는 else 구문이 필요하다
else 가 없거나 처리할 수 없는 입력 케이스가 있다면 컴파일러는 오류를 발생한다
2.1. When 기본
1
2
3
4
5
6
7
8
9
var x = readln().toInt()
when (x) {
1 -> print("x == 1") // x == 1 일 때 실행
2, 3 -> print("x == 2 or 3") // x == 2 or 3일 때 실행
else -> { // 그 외의 경우
print("x는 1도 2도 아니다")
}
}
2.2. When 범위
1
2
3
4
5
6
7
8
9
10
var x = 5
when (x) {
in 1..5 -> print("x == 1~5") // x == 1~5 일 때 실행
!in 1..5 -> print("x != 1~5") // x != 1~5 일 때 실행
is Int -> print("x는 숫자형")
else -> { // 그 외의 경우
print("???")
}
}
java나 python과 달리 범위를 지정할 수 있다
만약 조건을 만족하는 것이 여러 개라면 먼저 처리된 값이 출력된다
2.3. When 조건
1
2
3
4
5
6
7
8
9
10
var x = 1
var y = 7
when {
x > y -> print("x가 크다") // 실행 X
y > x -> {
print("y가 크다") // 실행
x = 10 // x값을 10으로
}
}
자료 참조 코틀린 공식 문서
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.