kotlin中的循环及条件语句

  • if条件语句
    Kotlin中的if语句相比于Java有一个额外的功能:它是有返回值的,其返回值就是if语句每一个条件中最后一行代码的返回值。我们先来看一个例子:
//找两个数中最大的一个数
fun largerNumber(num1:Int, num2:Int):Int{
    var value = 0
    if(num1>num2){
        value = num1
    }
    else{
        value = num2
    }
    return value
}
fun largerNumber(num1:Int, num2:Int) = if(num1>num2) num1 else num2

仔细观察上述代码,你会发现:
1.value其实是一个多余的变量,上述两种方法定义的函数是等价的。
2.当一个函数只有一条语句时,可以省略函数体部分,直接将这一行代码使用等号串连在函数定义的尾部。

  • when条件语句
    一、当需要判断的条件非常多的时候,我们可以使用when语句来替代if语句。比如:
fun getScore(name: String) = when (name) {
    "Tom" -> 86  //匹配值 -> {执行逻辑}
    "Jim" -> 77
    "Jack" -> 95
    "Lily" -> 100
    else -> 0
}

我们不难发现,上面when语句的用法类似于Java中的switch语句,但相较于Java的switch有以下优点:
1.对入口参数的类型无限制。
2.每条分支后面不需要加break。
二、when语句还允许进行类型匹配,其中关键字is是匹配的核心,相当与Java里的instanceof关键字。比如:

fun checkNumber(num: Number) {
    when (num) {
        is Int -> println("number is Int")
        is Double -> println("number is Double")
        else -> println("number not support")
    }
}
//执行checkNumber(8),则会输出number is Int.

三、when语句中可以适用判定表达式(此时,when语句不带参数),比如:

fun getScore(name: String)  = when {
        name.startsWith(“Tom”) -> 86 
        name == “Jim”  -> 77
        name == “Jack”-> 95
        name == “Lily”  -> 100
        else -> 0
}
  • Kotlin中的循环结构
    一、while循环,与Java一致。
    二、for循环(主要有4种情况):
until step downTo
闭区间 左闭右开 控制步长 降序区间
for (i in 0…10) for (i in 0 until10) for (i in 0 until10 step 2) for (i in 10 downTo 0)
输出结果:0 1 2 3 4 5 6 7 8 9 10 输出结果:0 1 2 3 4 5 6 7 8 9 输出结果:0 2 4 6 8 输出结果:10 9 8 7 6 5 4 3 2 1 0

你可能感兴趣的:(Kotlin,kotlin,java)