0
点赞
收藏
分享

微信扫一扫

Kotlin基础学习03

深夜瞎琢磨 2022-04-07 阅读 94
kotlin

目录

1.Kotlin语言的when表达式

2.Kotlin语言的String模板

3.Kotlin语言的函数头学习

4.Kotlin语言的函数参数的默认参数

5.Kotlin语言的具名函数参数

6.Kotlin语言的Unit函数特点

7.Kotlin语言的Nothing 类型特点

8.Kotlin语言的反引号中函数名特点

9.Kotlin语言的匿名函数学习

10.Kotlin语言的函数类型$ 隐式返回学习


1.Kotlin语言的when表达式

Java 的 if 是一个语句
Kotlin 的 when 是表达式 有返回值的
fun main() {
    val week = 6
    // Java 的 if 是一个语句
    //Kotlin 的 when 是表达式 有返回值的
    val info = when(week){
        1 -> "今天星期一,瞌睡"
        2 -> "今天星期二,敲代码"
        3 -> "今天星期三,学习,敲代码"
        4 -> "今天星期四,项目上线"
        5 -> "今天星期五,项目交付了,准备放假"
        6 -> "今天星期六,放假喽,睡觉"
        7 -> "今天星期天,放假喽,逛街看电影"
        else ->{
            println("今天没有星期")
        }
    }
    println(info)
}

2.Kotlin语言的String模板

fun main() {
    val garden = "清水河公园"
    val time = 4

    println("今天星期六,我和女朋友去${garden},玩了${time}个小时")

    //Kotlin 的if是表达式, Java的if是语句,有局限性
    val isLogin = true
    println("server response result: ${if (isLogin) "恭喜你,登录成功 " else "登陆失败"}")
}

3.Kotlin语言的函数头学习

fun main() {
    method01(21,"鲍星博")
}
//函数默认都是public
//其实Kotlin的函数更规范,先有输入,后有输出
private fun method01(age : Int,name: String) : Int{
    println("姓名:${name},年龄:${age}")
    return 200
}

4.Kotlin语言的函数参数的默认参数

fun main() {
    method01("bxb",21)
    method02("bxb")
    method03()
}

private fun method01(name : String, age : Int) {
    println("姓名:${name},年龄:${age}")
}
private fun method02(name : String, age : Int = 18) {
    println("姓名:${name},年龄:${age}")
}
private fun method03(name : String = "张三", age : Int = 18) {
    println("姓名:${name},年龄:${age}")
}

输出结果为:

5.Kotlin语言的具名函数参数

// TODO 18. Kotlin语言的具名函数参数
// 可以不按方法定义的形参顺序来赋值

fun main() {
    loginAction(age = 12,username = "bxb",password = "123456",phonenum = 456)
}
private fun loginAction(username : String , password : String , phonenum : Int, age : Int){
    println("username: $username, password:$password,phonenum:$phonenum,age:$age")
}

6.Kotlin语言的Unit函数特点

fun main() {

}
//Java语言的void关键字(void 是无参数返回的 忽略类型) 但是他是关键字,不是类型,这很矛盾
// : Unit 不写,默认也有,Unit 代表 无参数返回的 忽略类型 == Unit 类型类
private fun doWork() : Unit{
    return println(123)
}
private fun doWork2(){
    return println(123)
}
private fun doWork3() : Unit{
     println(123)
}

7.Kotlin语言的Nothing 类型特点

// TODO 20. Kotlin语言的Nothing 类型特点
fun main() {
    show(-1)
}
private fun show(number : Int){
    when(number){
        //下面这个TODO 不是注释的意思,它会终止程序
        -1 -> TODO("没有这个分数")
        in 0..59 -> println("不及格")
        in 60..100 -> println("及格")
    }
}

8.Kotlin语言的反引号中函数名特点

// TODO 21. Kotlin语言的反引号中函数名特点
fun main() {
    //第一种情况
    `登录功能 2022年4月7日测试环境下 测试登录功能 需求编码人是bxb`("bxb","123456")
    //第二种情况 // in is 在Kotlin 里面是关键字
    KtBase21.`in`()
    KtBase21.`is`()
    //第三种情况  很少发生
    `16161215`()
}

private fun `登录功能 2022年4月7日测试环境下 测试登录功能 需求编码人是bxb`(name : String , pwd : String){
    println("模拟登录:用户名是$name,密码是$pwd")
}
private fun `16161215`(){
    //写了好多复杂的核心功能
}
//公司私有加密文档      16161215 == 此函数的作用

9.Kotlin语言的匿名函数学习

// TODO 23. Kotlin语言的匿名函数学习
fun main() {
    val len = "Boob".count()
    println(len)
    val len2 = "Boob".count{
        //it 等价于 B o o b 的字符 Char
        it == 'o'
    }
    println(len2)
}

10.Kotlin语言的函数类型$ 隐式返回学习

// TODO 2. Kotlin语言的函数类型$ 隐式返回学习
fun main() {
    //我们现在开始写函数
    //第一步:函数输入输出的声明
    //  函数名          输入  返回值类型
    val methodAction : () -> String
    //第二步:对上面函数的实现
    methodAction = {
        val inputValue = 66
        "$inputValue Boob"  // == 背后隐式 return "$inputValue Boob"
        //匿名函数不要写return ,最后一行就是返回值
    }
    //第三步:调用此函数
    println(methodAction())
}
举报

相关推荐

0 条评论