1、为什么使用kotlin?
1)简洁(数据类扩展方法区间)
2)空值安全(针对空值处理的运算符)
3)百分之百兼容java scale
4)函数式编程JDK1.8lambda表达式
5)协程(thread)
6)DSL(领域特定语言)
java和kotlin有哪些区别:
java是声明式语法
声明式没有no return value
kotlin是表达式语法
表达式有return value
2、kotlin中的var和val
var即定义可变变量val定义不可变变量
/**
* var 和val
* 项目中开发尽量使用val ,实在不行再使用var
*/
var b: Int = 10
fun main(args: Array<String>) {
//可变变量
var a: Int = 10
a = 20
val d = 23
// val d=20
//不可变变量
println(a)
}
如果可变变量使用val会报错提示
3、kotlin中的字符串
1)字符串原样输出
第一种:
val place="浙江省\n杭州市\n拱墅区"
第二种:
val place1="""
浙江省
杭州市
西湖区
""".trimIndent()
2)字符串删除空格
使用.trimMargin(“需删除的字符”)方法
val str = """
//呵呵
//哈哈
//妮妮
""".trimMargin("//")
3)字符串比较
使用equals和 == 比较的字符串的值即字符串的内容,而kotlin使用 === 比较的是内存地址
val str1 = "abc"
val str2 = String(charArrayOf('a', 'b', 'c'))
//equals 比较的是字符串的值
println(str1.equals(str2))
//比较的是字符串值
println(str1 == str2)
//比较的是内存地址
println(str1 === str2)
4)字符串切割
val str = "哈哈.妮妮-乐乐"
//多条件切割,返回的是带逗号的字符串
val result = str.split(".", "-")
5)字符串截取
val path = "/Users/yole/kotlin-book/chapter.adoc"
//需求
//获取前6个字符
println(path.substring(0, 6))
println(path.substring(0..5))//左闭右闭
//把第一个r之前的字符截取
println(path.substringBefore("r"))
//把最后个r之前的字符截取
println(path.substringBeforeLast("r"))
//把第一个r之后的字符截取
println(path.substringAfter("r"))
//把最后个r之后的字符截取
println(path.substringAfterLast("r"))
结果
/Users
/Users
/Use
/Users/yole/kotlin-book/chapte
s/yole/kotlin-book/chapter.adoc
.adoc
6)字符串模板
//说明 里面可以放函数等等
val result:String="哈哈${"妮妮"}"