目录
1. Kotlin的优缺点
Kotlin的优势:
-
Kotlin更安全: Kotlin 支持显式地声明 null,并确保开发人员不会遇到可能导致质量问题的空引用异常;
-
代码简洁:不需要分号、很多相同的功能去用Kotlin实现语法更简洁
-
函数式支持: 高阶函数
-
扩展函数:可以直接不需要修改某个类的源码而给这个类添加新的功能
-
内联函数:使用 Lambda 表达式时,这些内联函数让它比 Java 编写的代码运行得更快;
-
支持线程的并发协同:Kotlin中当取消一个线程执行的时候,并不会阻塞任何其他线程,Java 虽然也允许多线程在后台运行,但它的处理机制更加复杂,在处理长时间运行的网络 I/O 或 CPU 密集型任务方面,Kotlin 比 Java 更具有领先优势;
Kotlin的缺陷:
目前,它还不支持很多功能,比如静态成员、通配符类型、非私有字段、Checked Exception、原始类型以及三元运算符等等。
2. 在java项目添加Kotlin支持
3. if的使用
fun max(a: Int, b: Int): Int {
return if (a > b) a else b
}
在Kotlin中,if是有结果值的表达式,它和java中的三元运算符?类似。在Kotlin中,除了循环(for,do 和 do/while)以外的大多数控制结构都是表达式。另一方面,java的赋值操作是表达式,在Kotlin中是语句。
4. 变量
-
可以省略变量的类型,编译器会分析初始化器表达式的值,并把它的类型作为变量的类型
-
也可以显示的指定类型
-
如果变量没有初始化器,需要显示的指定它的类型
val b = "hello Kotlin" val c : String = "hello Kotlin" val answer : Int
可变变量和不可变变量
val(来自value)——不可变引用 | 不能在初始化之后再次赋值,对应于java中的final变量 |
var(来自variable)——可变引用 | 变量的值可以被改变。 |
注意:
-
应该尽可能的使用val关键字来声明所以的Kotlin变量。尽在必要时换为var
-
val指向的对象可能是可变的。
//这是被允许的 val languages = arrayListOf("java") languages.add("Kotlin")
5. 字符串模板
Kotlin让你可以在字符串字面值中引用局部变量,只需在变量名前加上字符$
//相当于java中的字符串拼接(“