Android第一行代码——快速入门 Kotlin 编程(2.4程序的逻辑控制)

本文详细介绍了Kotlin编程中的逻辑控制,包括if条件语句的使用,展示了如何利用if的返回值功能简化代码。此外,还探讨了Kotlin的when条件语句,它比Java的switch更强大,支持类型匹配和不带参数的用法。最后,文章提到了Kotlin的for-in循环,强调了区间和step关键字在循环控制中的应用。
摘要由CSDN通过智能技术生成

目录

 2.4        程序的逻辑控制

 2.4.1        if 条件语句

2.4.2        when 条件语句

2.4.3        循环语句


 2.4        程序的逻辑控制

        程序的执行语句主要分为3种:顺序语句、条件语句和循环语句。顺序语句很好理解,就是代码一行一行地往下执行就可以了,但是这种“愣头青”的执行方式在很多情况下并不能满足我们的编程需求,这时就需要引入条件语句和循环语句了,下面我们逐个进行介绍。

 2.4.1        if 条件语句

        Kotlin 中的条件语句主要有两种实现方式:if when

        首先学习 if,Kotlin 中的 if 语句和 Java 中的 if 语句几乎没有任何区别,因此这里我就简单举个例子带你快速了解一下。

        还是以上一节中的 largerNumber() 函数为例,之前我们借助了 Kotlin 内置的 max() 函数来实现返回两个参数中的较大值,但其实这是没有必要的,因为使用 if 判断同样可以轻松地实现这 个功能。将 largerNumber() 函数的实现改成如下写法:

fun largerNubmer(num1:Int,num2:Int) : Int{
    var value = 0;
    if (num1>num2){
        value = num1
    } else {
        value = num2
    }
    return value
}

        这段代码相信不需要我多做解释,任何有编程基础的人都应该能看得懂。但是有一点我还是得说明一下,这里使用了 var 关键字来声明 value 这个变量,这是因为初始化的时候我们先将 value 赋值为 0,然后再将它赋值为两个参数中更大的那个数,这就涉及了重新赋值,因此必须用var 关键字才行。

        到目前为止,Kotlin 中的 if 用法和 Java 中是完全一样的。但注意我前面说的是“几乎没有任何区别”。也就是说,它们还是存在不同之处的,那么接下来我们就着重看一下不同的地方。 Kotlin中的 if 语句相比于 Java 有一个额外的功能,它是可以有返回值的,返回值就是 if 语句每一个条件中最后一行代码的返回值。因此,上述代码就可以简化成如下形式:

fun largerNubmer(num1:Int,num2:Int):Int{
    val value = if (num1>num2){
        num1
    } else {
        num2
    }
    return value
}

        注意这里的代码变化,if 语句使用每个条件的最后一行代码作为返回值,并将返回值赋值给了 value 变量。由于现在没有重新赋值的情况了,因此可以使用 val 关键字来声明 value 变量,最 终将 value 变量返回。

        仔细观察上述代码,你会发现 value 其实也是一个多余的变量,我们可以直接将 if 语句返回, 这样代码将会变得更加精简,如下所示:

fun largerNubmer(num1:Int,num2:Int):Int{
    return if (num1>num2){
        num1
    } else {
        num2
    }
}

        到这里为止,你觉得代码足够精简了吗?确实还不错,但是我们还可以做得更好。回顾一下刚刚在上一节里学过的语法糖,当一个函数只有一行代码时,可以省略函数体部分,直接将这一 行代码使用等号串连在函数定义的尾部。虽然上述代码中的 largerNumber() 函数不止只有一 行代码,但是它和只有一行代码的作用是相同的,只是返回了一下 if 语句的返回值而已,符合该语法糖的使用条件。那么我们就可以将代码进一步精简:

fun largerNubmer(num1:Int,num2:Int) = if (num1>num2){
    num1
} else {
    num2
}

        前面我之所以说这个语法糖非常重要,就是因为它除了可以应用于函数只有一行代码的情况, 还可以结合 Kotlin 的很多语法来使用,所以它的应用场景非常广泛。 

        当然,如果你愿意,还可以将上述代码再精简一下,直接压缩成一行代码:

fun largerNubmer(num1:Int,num2:Int) = if (num1>num2) num1 else num2

        怎么样?通过一个简单的 if 语句,我们挖掘出了Kotlin 这么多好玩的语法特性,现在你应该能 逐渐体会到 Kotlin 的魅力了吧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值