오늘은 흐름제어에 대해서 필기 해보았다.
if..else
//if..else
fun main() {
//if..else 사용
val job = "SoftWare Developer"
if(job == "Software Developer") {
println("개발자")
} 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
위와 같이, Kotlin에서의 if..else문은 표현식이며, 삼항연산자가 없다는 특징이 있다.
When
자바에서 특정 break누락한 경우, 그대로 넘어가기에 예상치 않은 결과를 return할 수 있다.밑은 자바에서의 When 예시
Kotlin
//Kotlin에서 When식
fun main() {
val day = 2
val result = When (day) {
1 -> "월요일"
2 -> "화요일"
3 -> "수요일"
4 -> "목요일"
else -> "기타"
}
println(result) //화요일
// else 생략 가능.
when(getColor()) {
Color.Red -> print("red")
Color.GREEN -> print("green")
else -> println("blue")
}
// 여러개의 조건을 콤마로 구분해 한줄에서 정의할 수 있다.
when (getNumber()) {
0, 1 -> print("0 또는 1")
else -> print("0또는 1이 아님")
}
}
enum class Color {
RED, GREEN, BLUE
}
fun getColor() = Color.RED
fun getNumber() = 2-
for loop
fun main() {
// 범위 연산자 ..를 사용해 for loop 돌리기
for (i in 0 < .. <3) {
println(i)
//0
//1
//2
//3
}
// until을 사용해 반복한다.
// 뒤에 온 숫자는 포함하지 않는다.
for (i in 0< until <3) {
println(i)
//0
//1
//2
}
//step의 값 만큼 증가시킨다
for(i in 0 <.. < 6 step 2){
println(i)
//0
//2
//4
//6
}
//downTo를 사용해 반복하면서 값을 감소시킨다.
for(i in 3> downTo >1) {
println(i)
//3
//2
//1
}
//전달받은 배열을 반복
val numbers = arrayOf(1,2,3)
for(i in numbers) {
println(i)
}
//1
//2
//3
}
While
fun main() {
//Java의 while문과 동일
//조건을 확인하고 참이면 코드 블록을 실행한 후 다시 조건을 확인
var x = 5
while(x > 0) {
println(x)
x--
//5
//4
//3
//2
//1
}
}
출처 FastCampus
'Kotlin' 카테고리의 다른 글
Kotlin.06 클래스와 프로퍼티 (0) | 2023.04.02 |
---|---|
Kotlin 05.예외처리 (0) | 2023.04.02 |
Kotlin 04. 널 참조 (0) | 2023.04.02 |
Kotlin 02. 함수 (0) | 2023.04.02 |
Kotlin 01.변수 (0) | 2023.04.02 |