모던 안드로이드 - 코틀린과 JetPack 활용 #3 - if, for, when

in #kr3 years ago

강의 URL

https://www.inflearn.com/course/%EB%AA%A8%EB%8D%98-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%A0%9C%ED%8A%B8%ED%8C%A9/lecture/49117?tab=curriculum&volume=1.00


if 문

  • 조건에 따른 분기 처리가 필요할 때 사용
    • 조건이 A이면 B 실행, 조건이 C이면 D 실행
    • 조건이 A이면 B 실행, 기타 조건이면 D 실행
    • 조건이 A이면 B 실행, 조건이 C이면 D 실행, 기타 조건이면 E 실행
    • 그 외 다양한 분기 처리
  • 조건에 따라 다른 값을 계산하는 식(expression) 작성 가능
예 - 분기 처리

아래 코드는 number 상수가 짝수이면 "Number is even."을, 그것이 홀수이면 "Number is odd."를 콘솔 화면에 출력합니다.

val number = 37

// 조건: number가 짝수이면
if ((number % 2) == 0) {
    println("Number is even.")
}
// 기타 조건
else {
    println("Number is odd.")
}
예 - 조건에 따라 다르게 계산하는 식

아래 if ... else ... 식은 number가 짝수이면 true가, 홀수이면 false가 계산되어 isEven 상수에 저장됩니다.

val number = 36
val isEven: Boolean = if ((number % 2) == 0) true else false

for 문

  • 1줄 이상 코드를 반복 실행할 때 활용
  • Java 대비 편의성 향상
예 - 1부터 10까지 더하기
fun main() {
    var sum = 0
    for (i in 1..10) {
        sum = sum + i
    }

    println("Sum: $sum")
}
예 - 리스트 객체의 각 요소 방문
fun main() {
    var sum = 0
    val numberList = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    for (number in numberList) {
        sum = sum + number
    }

    println("Sum: $sum")
}

when 문

  • 다중 분기 가능
  • Java의 switch 문 대비 편의성 향상
예 - 등급별 통과 여부 계산
fun main() {
    val grade: String = "A"
    var isPass: Boolean = false

    when (grade) {
        "A", "B", "C", "D" -> {
            isPass = true
        }
        "F" -> {
            isPass = false
        }
        else -> {
            println("Invalid grade.")
            return
        }
    }

    println("Pass? $isPass")
}
예 - 점수별 등급 계산
fun main() {
    var grade: String = ""
    val score: UInt = 83U

    when (score) {
        in 90U..100U -> {
            grade = "A"
        }
        in 80U..89U -> {
            grade = "B"
        }
        in 70U..79U -> {
            grade = "C"
        }
        in 60U..69U -> {
            grade = "D"
        }
        in 0U..59U -> {
            grade = "F"
        }
        else -> {
            grade = ""
            println("Invalid score.")
            return
        }
    }

    println("Score: $score")
    println("Grade: $grade")
}

모던 안드로이드 - 코틀린과 JetPack 활용 (지난 내용)

Coin Marketplace

STEEM 0.15
TRX 0.16
JST 0.028
BTC 68787.57
ETH 2439.22
USDT 1.00
SBD 2.34