Kotlin基础(条件,分支,循环)

适合有java基础的,获取kotlin基础知识/语法等,Kotlin精讲-黑马程序员(原创)的学习笔记。

1. if...else...

在Kotlin里面,针对if…else语句,还可以有返回值,然后可以把if…else的返回值赋值给某一个变量。

fun testIf() {
    var list = listOf(1, 2, 3)
    var age = 1
    // 可以使用 in 进行元素的判断
    if (age in list) {
        println("age is in list")
    }
}

2. when

// when的两种用法
fun testWhen() {
    var score = 99
    // when+变量
    when (score) {
        in 90..100 -> println("优")
        in 60 until 90 -> println("及格")
        else -> println("不及格")
    }
    // when不使用变量
    when {
        score >= 90 && score <= 100 -> println("优")
        score >= 60 && score < 90 -> println("及格")
        else -> println("不及格")
    }
}

“when关键字带变量”的语法形式,要根据变量类型,变量是不同的类型,支持的表达式也是不同的,
比如变量是Int类型,可以有“类型判断、单值判断、多值判断、肯定存在判断、否定存在判断”。

fun testWhen() {
    var num = 2
    var range = 1..5
    when (num) {
        // 类型判断
        is Int -> println("num is int type")
        // 单值判断
        2 -> println("num is 2")
        // 多值判断
        2,3 -> println("num is 2 or 3")
        // 肯定存在判断
        in range -> println("num is in range 2..4")
        // 否定存在判断
        !in 5..9 -> println("num is not in range 5..9")
        // else
        else -> println("num is in case else..")
    }
}

3. break/continue

kotlin中可以为每一个循环指定一个名字,可以在break的时候指定需要跳出的循环的名字。
continue也可以实现类似的跳转功能。

// "xxx@"设定循环的名字
fun testBreak() {
    loop1@for (i in 1..3) {
        loop2@for (j in 1..5) {
            if (j == 3) {
                // break指定跳出某个循环
                break@loop1
            }
            println("i = $i, j = $j")
        }
    }
}

参考:
Kotlin精讲-黑马程序员(原创)

你可能感兴趣的:(Kotlin基础(条件,分支,循环))