kotlin有著非常非常智慧型化的宣告變數方式。叫做型別推斷
宣告變數要使用關鍵字var和val。
var宣告方式第一種(自動推斷):
var nub=1231;//自動定義整數型 使用分號
var ch=「這是乙個字串」 //
自動定義字串 不使用分號
同樣,是kotlin自己判斷的資料型別。
當我們自動定義乙個型別之後,這個型別就會固定下來這個型別。 正如我們下面的**。 定義乙個字串之後在賦值乙個數字就會報錯
fun main(agrs : array)
正確的**是
fun main(agrs : array)
變數沒有使用關鍵字的情況下,可以再次賦值。
觀察上面的**,我並有使用分號作為乙個語句的結束。 當然使用分號也是可以的。
var第二種宣告方式(指定型別):
同樣也是使用var關鍵字進行宣告.
看下面的**:
fun main(agrs : array)
解釋: var name:string="arm830"
定義乙個變數,變數名是name,型別是string。
也就是乙個變數要指定乙個資料型別的時候,就要如此寫。
格式是:
var typename :type
var 變數名字 : 資料型別
一定要有冒號
val宣告方式
val是唯讀。
也就是說使用val進行定義型別。這個變數是唯讀,不可以修改的。
fun main(agrs : array)
val宣告方式和var一樣是可以有兩種,一種自動推斷,一種指定型別。
同樣,kotlin也是可以使用宣告並賦值,宣告再賦值的兩種方式宣告變數。
宣告再賦值
fun main(agrs : array)
不過值得一說,能夠使用宣告再賦值這樣的方式,只有指定資料型別才可以使用。
直接使用var第一種宣告方式,是不可以的。 切記!
let 和 const 宣告變數和常量 var
01 作用域只侷限於當前 塊 console.log str1 張三 console.log str2 無列印結果 02 使用let宣告的變數的作用域不會被提公升 03 在相同作用域下不能申明相同的變數 04 for迴圈體現let的父子作用域 var btns document.queryselec...
使用let和const宣告變數和常量
1 let宣告的變數沒有提公升 let宣告的變數也沒提公升,僅僅是沒有初始化 console.log a let a 110 cannot access a before initialization 2 let 配合 也可以形成塊級作用域 if true 中被訪問到 出了塊就訪問不了 let b ...
變數和常量 定義和宣告的其區別
所謂定義就是 編譯器 建立乙個物件,為這個物件分配一塊記憶體,並給它取上乙個名字,這個名字就是就是我們經常所說的變數名或物件名。宣告有2重含義 1 告訴編譯器,這個名字已經匹配到一塊記憶體上,下面的 用到變數或者物件是在別的地方定義的。宣告可以出現多次。2 告訴編譯器,這個名字已經被預定了,別的地方...