Kotlin - if语句

Kotlin - if语句 首页 / Kotlin入门教程 / Kotlin - if语句

在Kotlin中,if是一个表达式,该表达式返回一个值。用于控制程序结构的流程。 Kotlin中有多种if表达式类型。

  • if - else 表达式
  • if - else if-else 表达式
  • 嵌套 if 表达式

if 表达式

传统if语句的语法

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-if-expression.html

来源:LearnFk无涯教程网

if(condation){
//代码声明
}

传统if语句的语法

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-if-expression.html

来源:LearnFk无涯教程网

if(condation){
//代码声明
}
else{
//代码声明
}

if - else 表达式

它不能独立使用,它与if-else表达式一起使用,并且将if-else表达式的结果分配给变量。

if-else表达式的语法

val returnValue = if (condation) {
     //代码声明
    } else {
    //代码声明
    }
    println(returnValue)

if - else表达式示例

让无涯教程看一个if-else表达式的例子。

fun main(args: Array<String>) {
        val num1 = 10
        val num2 =20
        val result = if (num1 > num2) {
            "$num1 is greater than $num2"
        } else {
            "$num1 is smaller than $num2"
        }
        println(result)
}

输出:

10 is smaller than 20

无涯教程可以通过仅在一条语句中编写if表达式来删除if-else主体的花括号。

例如:

fun main(args: Array<String>) {
        val num1 = 10
        val num2 =20
        val result = if (num1 > num2) "$num1 is greater than $num2" else "$num1 is smaller than $num2"
        println(result)
}

在单行语句中使用if-else表达式就像Java中的三元运算符。 Kotlin不支持任何三元运算符。

if - else if-else 表达式

让无涯教程看一下if-else if-else 表达式的示例。

fun main(args: Array<String>) {
    val num = 10
    val result = if (num > 0){
        "$num is positive"
    }else if(num < 0){
        "$num is negative"
    }else{
        "$num is zero"
    }
    println(result)
}

输出:

10 is positive

嵌套 if 表达式

让无涯教程看一个嵌套if表达式的例子。

无涯教程网

fun main(args: Array<String>) {
    val num1 = 25
    val num2 = 20
    val num3 = 30
    val result = if (num1 > num2){

        val max = if(num1 > num3){
            num1
        }else{
            num3
        }
        "body of if "+max
    }else if(num2 > num3){
        "body of else if"+num2
    }else{
        "body of else "+num3
    }
    println("$result")
}

输出:

body of if 30

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

朱赟的技术管理课 -〔朱赟〕

深入浅出gRPC -〔李林锋〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

Flutter核心技术与实战 -〔陈航〕

成为AI产品经理 -〔刘海丰〕

Go 语言项目开发实战 -〔孔令飞〕

Redis源码剖析与实战 -〔蒋德钧〕

超级访谈:对话玉伯 -〔玉伯〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)