반응형
1. 조건문과 조건식
1.1 비교연산자
- 종류
- <
- 왼쪽 값이 오른쪽 값보다 작은지 검사한다.
- <=
- 왼쪽 값이 오른쪽 값보다 작거나 같은지 검사한다.
- >
- 왼쪽 값이 오른쪽 값보다 큰지 검사한다.
- >=
- 왼쪽 값이 오른쪽 값보다 크거나 같은지 검사한다.
- ==
- 왼쪽 값이 오른쪽 값과 같은지 검사한다.
- ===
- 왼쪽과 오른쪽의 두 개의 인스턴스가 같은 객체를 참조하는지 검사한다.
- !=
- 왼쪽 값이 오른쪽 값과 같지 않은지 검사한다.
- !==
- 왼쪽과 오른쪽의 두 개의 인스턴스가 같은 객체를 참조하지 않는지 검사한다.
- <
1.2 논리연산자
- 종류
- &&
- AND 논리
- 왼쪽과 오른쪽 표현식 모두 true 일때만 true가 되며 이외는 false
- ||
- OR 논리
- 왼쪽과 오른쪽 표현식 중 하나가 ture 면 true 가 됨(모두 false 일때만 false)
- !
- NOT 논리
- true 일때는 false, false 일때는 true 가 됨.
- &&
1.3 if/else 문
var point = 1
if (point == 100) {
println("100점 입니다")
} else if(point >= 90) {
println("90점 이상 입니다")
} else if(point >= 80) {
println("80점 이상 입니다")
} else {
println("현재 점수는 하위권 입니다.")
}
1.4 조건표현식
var point = 1
var result = if (point == 100) {
"100점 입니다"
} else if(point >= 90) {
"90점 이상 입니다"
} else if(point >= 80) {
"80점 이상 입니다"
} else {
"현재 점수는 하위권 입니다."
}
println(result)
조건에 따라 일일히 println() 코드를 추가하는 것은 매우 비효율적인 작업이 된다.
그러나 코틀린은 기존의 조건문에서 특정 값을 return 받을 수 있다.
이러한 문법을 조건 표현식(conditional expression) 이라고 한다.
1.5 범위
var point = 1
var result = if (point == 100) {
"100점 입니다"
} else if (point in 90..99) {
"90점 이상 입니다"
} else if (point in 80..89) {
"80점 이상 입니다"
} else {
"현재 점수는 하위권 입니다."
}
println(result)
if/else 로 작성했던 모든 조건은 point 의 정수값에 따라 검사되고 분기된다.
이를 표현할 수 있는 더 좋은 방법이 있다.
코틀린에서는 연속되는 값을 나타낼 수 있는 범위(range) 를 제공한다.
"in" 키워드 와 "정수..정수" 키워드를 이용하여 일정한 범위를 나타낼 수 있다.
1.6 when 표현식
var point = 1
var result = when(point) {
100 -> "100점 입니다"
in 90..99 -> "90점 이상 입니다"
in 80..89 -> "80점 이상 입니다"
else -> "현재 점수는 하위권 입니다."
}
println(result)
when 표현식은 코틀린에서 사용할 수 있는 또 다른 제어 흐름 메커니즘이다.
if/else 처럼 검사할 조건들을 작성할 수 있으며, 조건이 true 일때만 해당 코드가 실행된다.
코드가 더욱 간결해지며, 세 개 이상의 조건분기에 특히 적합하다.
좀 더 간결해진 Java 의 switch/case 문으로 볼 수도 있겠다.
2. 문자열 템플릿
2.1 기본형
var point = 79
var result = when(point) {
100 -> "100점"
in 90..99 -> "90점 이상"
in 80..89 -> "80점 이상"
else -> "하위권"
}
println("현재 점수는 $result 입니다.")
Java 에서는 특정 출력문에 변수와 함께 사용하기 위해서는 형변환을 이용하여 + 키워드를 사용하여야 하지만
코틀린에서는 문자열 템플릿(string template)이 있어서 더 편리하게 출력문을 작성 할 수 있다.
"$" 기호가 문자열 템플릿을 나타내며, "" 내부의 문자열에 val 이나 var 변수의 값을 넣을 수 있다.
2.2 표현식
var point = 88
var result = when(point) {
100 -> "100점"
in 90..99 -> "90점"
in 80..89 -> "80점"
else -> "하위권"
}
println("현재 점수는 $result ${if(point in 80..99) "이상" else ""} 입니다.")
코틀린은 문자열 템플릿 내에서 표현식을 사용 할 수 있다.
"${}" 키워드 안에 원하는 표현식을 넣을 수 있다.
반응형
'Develop > Kotlin' 카테고리의 다른 글
[Kotlin] File - mkdir(), mkdirs() 의 차이점 (0) | 2022.09.10 |
---|---|
[Kotlin] 3 - 함수 (0) | 2020.04.08 |
[Kotlin] 1 - 타입, 변수, 상수 (0) | 2020.04.08 |