[kotlin]基础特性之when array loop

本文通过实例介绍了Kotlin中的函数定义、类型判断、数组操作及循环遍历等基础语法,并详细解析了Kotlin中when表达式的强大功能及其与Java中switch-case的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前看过的东西不知道输出,最近春节看了kotlin,从最基础的开始,用这样博客的形式开始文档输出,旨在加强学习印象

首先
这个函数转化入参为字符串

 fun main(args: Array<String>) {
    println(convert2Uppercase("hello world"))
    println(convert2Uppercase(23))
}


fun convert2Uppercase(str: Any) : String?{
    if(str is String){
      return str.toUpperCase()
    }

    return null
}

在java中可能需要instanceof 判断然后再进行强制类型装换,kotlin编译器自动帮我们识别类型

在数组循环中,跟es6/typescript支持的有点相似,既能取出元素,也能取出index

fun main(args: Array<String>) {
    var array = intArrayOf(1, 2, 3, 4, 5)

    for (item in array) {
        println(item)
    }

    println("-----")

    for (index in array.indices) {
        println("array[$index] = ${array[index]}")
    }
    println("-----")

    for ((index, value) in array.withIndex()) {
        println("array[$index] = $value")
    }
}

可以打印一个元素,可以打印数组里面的index,可以打印index跟数组内容
看kotlin Int的实现可以看出,在面向jvm的时候,Int是原生数据类型,而intArrayOf返回的是int[]

我们再来看下强大的when

fun main(args: Array<String>) {
    println(myPrint("hello"))
    println(myPrint("world"))
    println(myPrint("hello world"))
    println(myPrint("nothing"))

    println("------")

    var a = 6

    var result = when(a){
        1 -> {
            println("a = 1")
            10
        }
        2 -> {
            println("a = 2")
            20
        }
        3, 4, 5-> {
            println("a =3 or a = 4 or 5")
            30
        }
        in 6..10-> {
            println("in range")
            40
        }
        else -> 50
    }
}

fun myPrint(str: String): String {
    return when (str) {
        "hello" -> "HELLO"
        "world" -> "WORLD"
        "hello world" -> "HELLO WORLD"
        else -> "other input"
    }
}

fun myPrint2(str: String): String = when (str) {
    "hello" -> "HELLO"
    "world" -> "WORLD"
    "hello world" -> "HELLO WORLD"
    else -> "other input"
}

when的使用相对于java中的switch case, ->这样的写法并不是lambda表达式,但是看看myPrint函数,语法比起java要风骚��,也可以按照myPrint2函数的写法,直接返回一个表达式,语法更加简约��,在最后的例子中,when的条件可以是枚举数,可以是枚举数范围,也可以是一个区间。由上面的例子可以看出kotlin when的语法糖对开发很友好,十分适合写我们平时复杂的业务开发��

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值