728x90
If-else
fun main(){
//if..else 사용
val job = "Software Developer"
if(job == "Software Developer"){
println("개발자")
}else{
println("개발자 아님")
}
//코틀린의 if..else는 표현식이다.
//자바의 if..else는 구문이다
val age: Int = 10
val str = if(age > 10){
"성인"
}else{
"아이"
}
//코틀린은 삼항 연산자가 없다(if..else가 표현식으므로 불필요 하다)
val a = 1
val b = 2
val c = if(b > a) b else a
}
- if - else 구문이 자바와는 달리 식이다(자바는 구문이다)
- 식이므로 값을 반환한다.
- 표현식이므로 삼항 연산자가 필요 없으므로 존재하지 않는다.
when
fun main() {
//자바 코드를 코틀린의 when 식으로 변환한 코드(자바 최신 switch 문은 식을 반환하기도 한다)
//자바 코드에서는 break를 작성하지 않으면, 코드가 밑으로 흘러간다.
val day = 2
val result = when (day) { //when식을 할당할 수 있다.
1 -> "월요일"
2 -> "화요일"
3 -> "수요일"
4 -> "목요일"
else -> "기타"
}
println(result)
//else를 생략할 수 있다.
when(getColor()){
//들어올 수 있는 값을 코틀린이 추론할 수 있기 때문에 else를 생략할 수 있다
Color.RED -> println("red")
Color.GREEN -> println("green")
}
//여러개의 조건을 콤마로 구분해 한줄에서 정의할 수 있다.
when(getNumber()){
0, 1 -> print("0 또는 1")
else -> print("0 또는 1이 아님")
}
}
enum class Color{
//두가지 값만 반환할 수 있다.
RED, GREEN
}
fun getColor() = Color.RED
fun getNumber() = 2
- 자바의 switch문과 비슷하다.
- JDK 17이전 버전에서는 Switch문 또한, 구문이기 때문에 값을 반환하지 못했는데, 17 이후 버전부터는 표현식처럼 사용이 가능하다.
- 실수로 break를 빠트려 발생하는 오류도 많이 발생했다.
- 코틀린의 when에서는 식을 반환하며, break를 생략할 수 있다.
- else(default)도 생략이 가능하다
- 코틀린이 enum class(color)를 추론하여, when절에 else가 없어도 문제없음을 알고 있다(생략 가능)
- 여러개의 조건을 콤마로 구분해 한 줄에서 정의할 수 있다.
for
fun main() {
//범위 연산자 .. 를 사용해 for loop 돌리기
for (i in 0..3) { //범위 연산자를 사용해 쉽게 출력가능(가장 마지막 숫자도 포함된다)
println(i)
}
// until을 사용해 반복한다.
// 뒤에 온 숫자는 포함하지 않는다.
for (i in 0 until 3) { //뒤에 숫자 포함 x
println(i)
}
//step 에 들어온 값 만큼 증가시킨다
for (i in 0..6 step 2) { //값이 step만큼 증가
println(i)
}
//downTo를 사용해 반복하면서 값을 감소시킨다
for (i in 3 downTo 1) { //값이 downTo 만큼 감소된다
println(i)
}
//전달받은 배열을 반복
val numbers = arrayOf(1, 2, 3)
for (i in numbers) {
println(i)
}
}
- ..(범위 연산자)를 사용해 쉽게 출력이 가능하다.
- 단, 범위 연산자는 마지막 숫자도 포함한다.
- until을 사용해 마지막 숫자를 제외 할 수 있다.
- step에 들어온 수만큼 증가 시킬 수 있다.
- downTo를 사용해 값을 감소시키면서 for문을 돌 수 있다.
- 전달받은 배열을 반복 할 수 있다.
while
fun main() {
//자바의 while문과 동일
//조건을 확인하고 참이면 코드 블록을 실행한 후 다시 조건을 확인
var x = 5
while (x > 0) {
println(x)
x--
}
}
- Java의 while문과 동일
728x90
'실무 프로젝트로 배우는 Kotlin & Spring > 코틀린 기초' 카테고리의 다른 글
| 예외 처리 (0) | 2022.10.01 |
|---|---|
| 널 안정성 (0) | 2022.10.01 |
| 함수 (0) | 2022.10.01 |
| 변수 (0) | 2022.10.01 |
| 개발 환경 구성하기 (0) | 2022.10.01 |