Kotlin学习笔记1


class Test {
    val languagename = "Kotlin"
    val upperCaseName = languagename.uppercase()

    //指定 String? 类型后,可以为 languageName 赋予 String 值或 null。
    val languageName: String? = null

    //条件表达式
//每个条件分支都隐式地返回其最后一行的表达式的结果,因此无需使用 return 关键字
    var count = 0
    val answerString: String = if (count == 42) {
        "I have the answer."
    } else if (count > 36) {
        "The answer is close."
    } else {
        "the answer eludes me."
    }
    //System.out.println(answerString)

    //随着条件语句的复杂性不断增加,您可以考虑将 if-else 表达式替换为 when 表达式,如以下示例所示:

    //when 表达式中每个分支都由一个条件、一个箭头 (->) 和一个结果来表示。如果箭头左侧的条件求值为 true,则会返回右侧的表达式结果
    val answerString2 = when {
        count == 42 -> "I have the answer."
        count > 36 -> "The answer is close."
        else -> "The answer eludes me"
    }

    //函数,用 fun 关键字,后跟函数名称。接下来,定义函数接受的输入类型(如果有),并声明它返回的输出类型。函数的主体用于定义在调用函数时调用的表达式。
    //无参数例子
    fun generateAnswerString(): String {
        val answerString = if (count == 42) {
            "I have the answer."
        } else {
            "The answer eludes me"
        }
        return answerString;
    }

    //带参数例子
    fun generateAnswerString(countThreshold: Int): String {
        val answerString = if (count == countThreshold) {
            "I have the answer."
        } else {
            "The answer eludes me"
        }
        return answerString;
    }

    //简化函数声明: 跳过局部变量的声明
    fun generateAnswerString2(countThreshold: Int): String {
        return if (count > countThreshold) {
            "I have the answer."
        } else {
            "The answer eludes me"
        }
    }

    //简化函数声明: 跳过局部变量的声明,并且将return关键字替换为 赋值运算符
    fun generateAnswerString3(countThreshold: Int): String = if (count > countThreshold) {
        "I have the answer."
    } else {
        "The answer eludes me"
    }

    //匿名函数
    val stringLengthFunc: (String) -> Int = { input -> input.length }
    val stringLength: Int = stringLengthFunc("Android")
    //stringLengthFunc 包含对一个匿名函数的引用,该函数将 String 当作输入,
    // 并将输入 String 的长度作为 Int 类型的输出返回。
    //因此,该函数的类型表示为 (String) -> Int

    //高阶函数
    //一个函数可以将另一个函数当作参数。将其他函数用作参数的函数称为“高阶函数”
    //stringMapper() 函数接受一个 String 以及一个函数,该函数根据您传递给它的 String 来推导 Int 值。
    fun stringMapper(str: String, mapper:(String) -> Int): Int{
        return mapper(str)
    }
    //如何调用
    //Not work TODO
    // stringMapper("Android",{ input -> input.length  })
    // 如果匿名函数是在某个函数上定义的最后一个参数,则您可以在用于调用该函数的圆括号之外传递它,如以下示例所示
   // stringMapper ("Android"){input -> input.length}

    //类
    class Car
}

以上代码块是第一次学习kotlin时根据官方文档快速上手部分,边学习写的,做一个记录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值