測試環(huán)境:
- Kotlin 1.1.3
一、定義變量的幾種方式
- 第一種:顯式聲明類型
var name : String = "zhangsan";
- 第二種,省略聲明類型
var name = "zhangsan";
- 第三種排监,不指定初始化值,但是必須顯式的指定類型杰捂,
val school3: String
school3 = "丐幫"
這種必須放在方法內(nèi)舆床,放在成員變量位置就會報錯,還有一點(diǎn)嫁佳,在使用這個變量之前必須初始化挨队,否則會報如下錯誤:
Error:(88, 16) Variable 'school3' must be initialized
二、var 和 val 的區(qū)別
var 和 val 為聲明變量的關(guān)鍵字脱拼,分別稱之為 可變變量和不可變變量
1瞒瘸、 var 全稱為:variable 坷备,可變引用熄浓,這種變量的值可以被任意改變,但是不能改變類型省撑,對應(yīng)于 java 中的普通變量
var school = "天山"
println(school)
school = "逍遙"
println(school)
打印結(jié)果為:
天山
逍遙
2赌蔑、 val 全稱為 value ,不可變引用竟秫,這種變量的值娃惯,在初始化之后不能再次被賦值,對應(yīng)于 java 中的 final 變量
val school2 = "明教"
println(school2)
如果嘗試再次賦值的話肥败,IDE 就會報錯
這里需要注意的一點(diǎn)是趾浅, val 引用自身是不可變的,但是執(zhí)行的對象是可以改變的如下:
val numbers: MutableList<Int> = mutableListOf()
numbers.add(1)
numbers.add(2)
numbers.add(3)
val 指向集合對象馒稍,而且只能指向這個集合皿哨,但是集合對象本身是可以改變的!
三纽谒、方法的定義
- 無參無返回值的方法
fun a(){
//具體操作邏輯
}
- 有參數(shù)無返回值的方法
fun getMax2(a: Int, b: Int){
//具體操作邏輯
}
- 無參數(shù)有返回值的方法证膨,以下三種都可以,看需求決定選哪種
- 最簡單的一種
fun a1() = 6
- 加上返回值類型
fun a1():Int = 6
- 加上花括號
fun a1():Int{
return 6
}
- 有參有返回值的方法鼓黔,與無參數(shù)有返回值的一樣央勒,只不過多加了個參數(shù)而已