Kotlin学习系列(二)

IF表达式

if在kotlin可以当做表达式使用跟java的三元操作符类似:

var max =  if( a > b )  a else b

if分支可以使用代码块,最后一个表达式是返回值:


var max = if (a > b){
    print(a)
    a
}else{
    print(b)
    b
}

When表达式

kotlin使用when来替换switch语句,基本特性都跟switch差不多会对列出来的分支进行匹配满足条件的分支会被执行。when可以当做表达式或者语句
如果使用when当前表达式满足条件的分支会当做when的返回值。当when当做语句使用的时候会忽略所有分支的值。when的每个分支也可以是语句块最后一个表达式是这个语句块的值。

用做表达式:

    var matchValue = 2
    var result = when(matchValue){
        1 -> 1
        2 -> 2
        else ->3
    }

    println(result)

用于语句:

    matchValue = 3
    when(matchValue) {
        1 -> println(1)
        2 -> println(2)
        else -> println(3)
    }

匹配多少值:

    when(matchValue){
        1,2,3 -> println(matchValue)
    }

使用is!is:

    var isInt = when(matchValue){
        is Int -> println(matchValue) 
        else -> false
    }

使用in!in:

    var valueIn = when(matchValue){
        in 1..3 -> true
        else -> false
    }

当when没有提供一个值时它的分支是boolean表达式when会执行为真的分支:

    var valueIn = when(matchValue){
        in 1..3 -> true
        else -> false
    }

for循环

通过任意提供的迭代器的对象循环(迭代器与java类似):

for (item in collection)
  print(item)

遍历数组:

   var types = intArrayOf(1, 2, 3)
    for(index in types.indices)
        print(index.toString() + " ")

    for((index, value ) in types.withIndex())
        println("index: $index, value: $value")

while循环

跟平常的while使用一样:

    var index = 0
    while(index < 10)
        print(index++)

    index = 0
    do{
        print(index)
    }while (index++ < 10)



《架构文摘》每天一篇架构领域重磅好文,涉及一线互联网公司应用架构(高可用、高性 能、高稳定)、大数据、机器学习等各个热门领域。

posted @   架构文摘  阅读(1720)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示