Kotlin有着非常非常智能化的聲明變量方式。叫做類型推斷
聲明變量要使用關鍵字var和val。
var聲明方式第一種(自動推斷):
var nub=1231;//自動定義整數型 使用分号
var ch=“這是一個字元串” //自動定義字元串 不使用分号
同樣,是Kotlin自己判斷的資料類型。
當我們自動定義一個類型之後,這個類型就會固定下來這個類型。 正如我們下面的代碼。 定義一個字元串之後在指派一個數字就會報錯
fun main(agrs : Array<String>)
{
var name="ARM830"//自動定義一個字元串 Kotlin自動判斷
name=123 //此處會報錯
println(name) //輸出
}
正确的代碼是
fun main(agrs : Array<String>)
{
var name="ARM830"//自動定義一個字元串 Kotlin自動判斷
// name=123 //此處會報錯
name="重新再次指派" //再次指派
println(name) //輸出
}
變量沒有使用關鍵字的情況下,可以再次指派。
觀察上面的代碼,我并有使用分号作為一個語句的結束。 當然使用分号也是可以的。
var第二種聲明方式(指定類型):
同樣也是使用var關鍵字進行聲明.
看下面的代碼:
fun main(agrs : Array<String>)
{
var name:String="ARM830"//定義一個為String的變量
println(name) //輸出
}
解釋: var name:String="ARM830"
定義一個變量,變量名是name,類型是String。
也就是一個變量要指定一個資料類型的時候,就要如此寫。
格式是:
var Typename :Type
var 變量名字 : 資料類型
一定要有冒号
Val聲明方式
val是隻讀。
也就是說使用val進行定義類型。這個變量是隻讀,不可以修改的。
fun main(agrs : Array<String>)
{
var name:String ="ARM830"; //定義一個為String的變量
val year:Int =16;
year=17; //此處會報錯,因為val是隻讀,不可以再次指派
println(name+"\t"+year) //輸出
}
val聲明方式和var一樣是可以有兩種,一種自動推斷,一種指定類型。
******************************************************************************************************************************************************************************************************************
同樣,Kotlin也是可以使用聲明并指派,聲明再指派的兩種方式聲明變量。
聲明再指派
fun main(agrs : Array<String>)
{
var name:String //定義一個為String的變量
name="ARM830";
var year:Int
year =16;
println(name+"\t"+year) //輸出
}
不過值得一說,能夠使用聲明再指派這樣的方式,隻有指定資料類型才可以使用。
直接使用var第一種聲明方式,是不可以的。 切記!