基础语法
提要
· 在kotlin中用法与java基本一致时,本文均省略描述,如:定义包,注释,if else,while等
· 在Kotlin中代码不需要分号结尾,所以一行也不能写两行代码。如:print(1)print(2)
放在同一行是无法编译通过的。
· kotlin中变量是var,常量是val,可以指定类型,也可以系统推断类型
var a: String = "指定类型变量"
var b = "推断类型变量"
val c = "常量"
· Java中常用的类型在kotlin中的对应类型
String-String , int-Int , boolean-Boolean , long-Long , double-Double , Object-Any
定义类
/*定义一个普通类*/
class MainActivity {}
/*定义接口*/
interface IMain {}
在kotlin中继承使用:
,实现使用,
class MainActivity : AppCompatActivity() ,IMain {}
定义函数
/* 定义一个无参无返回值的函数 */
fun f1() {
println("this is a no param and no return function")
}
/* 定义一个有参无返回值的函数 */
fun f2(param: String) : Unit{
println("this is a no return function")
}
在Kotlin中,无返回值均为Unit,如果需要返回值,则将Unit修改成需要返回的类型即可。无返回值是:Unit
可以省略。
/* 定义一个有参有返回值的函数 */
fun f3(a: Int, b: Int): Int {
return a + b
}
/* 简化f3 ,简化成表达式,返回值自动推断*/
fun f4(a: Int, b: Int) = a + b
Tip:输入void
可以快速定义一个无返回值的函数,输入fun0
可以快速定义一个无参数的函数,输入fun1
可以快速定义一个包含一个参数的函数,输入fun2
可以快速定义一个包含两个参数的函数。
空检查
在kotlin中变量默认是不为空的。
/*空检查特性*/
fun f5() {
var cantNull = "Can not be empty"
var canNull: String? = null
//普通调用
println(cantNull.toString())
//空检查,如果不为空才执行后面的
println(canNull?.toString())
//如果为空抛出异常
println(canNull!!.toString())
}