Kotlin(方法,吐司,变量,字符串,null机制)

定义方法

fun 方法名(){

}

吐司

button.setOnClickListener{ view-> Toast.makeText(this@MainActivity,"is Toast",Toast.LENGTH_SHORT).show()}

定义变量和常量可变

变量定义:var 关键字var <标识符> : <类型> = <初始化值>
不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)
val <标识符> : <类型> = <初始化值>

下面声明一个字符串变量a和一个字符串常量b,并设置初始值

var a : String = "a";//声明一个变量a,并设置初始值。
val b : String = "b";//声明一个常量b,并设置初始值。

在Kotlin中变量和常量的类型是可以省略的,编译期对自动推断出来变量和常量类型,在上面的列子中,可以声明如下:

var a = "a";
val b = "b";

字符串模板

$ 表示一个变量名或者变量值

$varName 表示变量值

${varName.fun()} 表示变量的方法返回值:

        var a = 1
// 模板中的简单名称:
        val s1 = "a is $a"

        a = 2
// 模板中的任意表达式:
        val s2 = "${s1.replace("is", "was")}, but now is $a"
        Log.i(TAG, "initView: "+s2)//打印的结果为initView: a was 1, but now is 2

字符串转为Int类型

       var numberone:String?="147"
       val numberones=numberone!!.toInt()
        //Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,
       //另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理
       //var age: String? = "23" 

        val numbertwo=2
        var three=numberones+numbertwo
        Log.i(TAG, "initView: "+three)//结果为149

Kotlin null机制

//类型后面加?表示可为空
var age: String? = "23" 
//抛出空指针异常
val ages = age!!.toInt()
//不做处理返回 null
val ages1 = age?.toInt()
//age为空返回-1
val ages2 = age?.toInt() ?: -1

当一个引用可能为 null 值时, 对应的类型声明必须明确地标记为可为 null。

当 str 中的字符串内容不是一个整数时, 返回 null:

fun parseInt(str: String): Int? {
  // ...
}

推荐阅读更多精彩内容