[문법] For / While / Nullable / NonNull / ?:

For / While

fun forAndWhile(){
    val students = arrayListOf("joyce", "james", "jenny", "jennifer")
    for (name in students) {
        println(name)
    }

    for ((index, name) in students.withIndex()) {
        println("${index+1}번재 학생: ${name}")
    }

    var name: String? = "something"
    name?.let {
        println(it)
    }

    var sum: Int = 0
    for (i in 1..100) {
        sum += i
    }
    println("sum -> ${sum} ")
}

Nullable / NonNull

fun nullcheck() {
    //NPE : Null Pointer Exception
    println("## nullcheck ##")

    var name: String = "kyhslam"
    var nullName: String? = null // null을 넣어줄 경우 '?'를 붙인다

    println(name)
    println(nullName)

    var nameInUpperCase = name.uppercase()

    // ? 붙이면 nullName이 null이면 null을 반환하고 아니면 uppecase를 수행한다다
    var nullNameInUpperCase = nullName?.uppercase()

    println(nameInUpperCase)
    println(nullNameInUpperCase)

    // 엘비스프레슬리 연산자 > ?:
    // ?: 는 default값을 줄수 있다.
    val lastName : String? = null
    val fullName = name + " " + (lastName?: "NO lastName")
    println(fullName)
}
// !! : null이 아닌걸 보장한다고 알려줄때 사용
fun ignoreNulls(str: String?) {
    val mNotNull : String = str!!
    val upper = mNotNull.uppercase()
}

let

fun letFunc() {
    val email: String? = "kyhslam@nana.com"
    email?.let {
        //email이 null이 아니면 let 내부함수에서 사용해라
        println("my email is ${email}")

    }
}

'코틀린 > 기본' 카테고리의 다른 글

Type을 다루는 방법  (0) 2023.04.01
null을 다루는 방법  (0) 2023.04.01
[문법] When, Array, List  (0) 2022.12.24

댓글

Designed by JB FACTORY