目录
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())
}