Kotlin 變數和常量的宣告(var和val)

2022-02-18 08:43:58 字數 1213 閱讀 7935

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 告訴編譯器,這個名字已經被預定了,別的地方...