05-kotlin-變量與輸出

kotlin回顧

回顧下以前我們敲過的案例

fun main(args:Array<String>){  //固定寫法,目前先記憶
  println("hello kotlin")  //println是打印內(nèi)容到控制臺的意思
}

作業(yè): 編寫main函數(shù), 在控制臺打印 I love kotlin

fun main(args:Array<String>){  //固定寫法,目前先記憶
  println("I love kotlin")  //println是打印內(nèi)容到控制臺的意思
}

用自然語言重讀HelloWorld

fun main(args:Array<String>){  
  println("hello kotlin") 
}
計算機給我執(zhí)行一段任務(wù),
任務(wù)的入口是main方法,參數(shù)是一個字符串?dāng)?shù)組類型的
執(zhí)行的內(nèi)容是打印hello kotlin到控制臺

存儲數(shù)據(jù)

計算機程序是跟數(shù)據(jù)打交道的,我們編寫的絕大多數(shù)程序都是在處理或者記憶數(shù)據(jù),
下面我們要學(xué)習(xí)如何聲明和記憶數(shù)據(jù).

fun main(args:Array<String>){
// 計算機給我一塊空間 存儲一個值為18的數(shù)據(jù) , 這塊空間的名字為age
    var age =18
    println("存儲的年齡是="+age)
}

  fun main(args:Array<String>){
// 計算機給我一塊空間 存儲一個值為"小華華"的數(shù)據(jù) , 這塊空間的名字為name
    var name="奧娃"
    println("存儲的名字是="+name);
}

在kotlin里面如果我們需要存儲一個數(shù)據(jù),只需要var一下, 給數(shù)據(jù)起個名字,放進去就行了

變量和容器

變量觀念是培養(yǎng)程序設(shè)計能力的基礎(chǔ)
因為在程序中的數(shù)據(jù)都必須通過變量來處理
處理不同的數(shù)據(jù),必須使用不同的變量類型
平時我們上街的時候,有人總會拎個小包或者手提袋什么的
裝上點兒瑣碎的東西,回家以后就取出東西來,將袋子扔到一邊去
計算機里也得用上這種小包或小袋子
把我們輸入的字符串或者數(shù)值裝起來,要的時候就取出來

逛沃爾瑪

逛沃爾瑪之前,我們準備了這樣幾種容器, 雞蛋盒, 冷藏盒, 木酒盒
如果我們買了雞蛋,只需要把雞蛋放入雞蛋盒,買了肉把肉放進冷藏盒,
買了紅酒把紅酒放入木酒盒.不同的東西放入不同的盒子里,方便管理.
數(shù)據(jù)也不易損壞.

同樣的,kotlin程序也給我們實現(xiàn)準備好了很多類型的盒子,
用于存放不同類型的數(shù)據(jù).

體會代碼

fun main(args:Array<String>){
//計算機給我一個盒子,盒子的標簽叫name, 里面放入字符串"小華華"
var name="小華華" 
//盒子里面不放"小華華"了 放字符串"奧娃"
name="奧娃" 
println("名字是:"+name)
}

程序正確執(zhí)行,最后打印 名字是:奧娃

fun main(args:Array<String>){
//計算機給我一個盒子,盒子的標簽叫name, 里面放入字符串"小華華"
   var name="小華華"
//盒子里面不放"小華華"了 放字符串"奧娃"
   name=18
   println("名字是:"+name)
}

大家注意紅色錯誤,第三行代碼已經(jīng)報錯.
大家思考一下, 一個放肉的盒子適合放雞蛋么?

常見容器的類型

 Byte     存儲值范圍 整數(shù)-128~127
 Short  存儲值范圍   整數(shù)-32768~32767
 Int       存儲值范圍    整數(shù)-2147483648~2147483647
 Long     存儲值范圍 整數(shù)-9223372036854775807 ~ 9223372036854775807
 Float   存儲值范圍  小數(shù),小數(shù)點可以精確到6位
 Double 存儲值范圍   小數(shù),小數(shù)點可以精確到15-16位
 String 存儲值范圍   字符串,用"'雙引號引起來的字符串都可以存

遇見整數(shù)一般Int夠用了, 遇見小數(shù)高精度選Double,低精度選Float,字符串就用String

類型推斷(Type inference)

類型推斷是kotlin的一大特色,我們用代碼來解釋一下

fun main(args:Array<String>){
    var name="小華華"http://自動推斷name的類型是字符串類型
    name=18.0//把小數(shù)18.0放入name 程序報錯
    println("名字是:"+name)
}
fun main(args:Array<String>){
    var age = 18 //自動推斷出age的類型是Int整數(shù)
    age ="張三" //把字符串放入整數(shù)容器,程序報錯
    println("年齡是:"+age)
}
Paste_Image.png

顯式類型聲明

fun main(args:Array<String>){
    var name
}

上面的代碼會報錯,原因是我們告知計算機給我一塊存儲空間,標簽叫name,
由于沒有指定name里面存放的內(nèi)容,kotlin無法通過類型推斷(Type inference)確定
這塊存儲空間存放什么類型的數(shù)據(jù).代碼報錯.
我們可以通過顯式類型聲明來告知計算機這塊空間的數(shù)據(jù)類型是什么
具體寫法如下,采用冒號后面跟數(shù)據(jù)類型

fun main(args:Array<String>){
     var name:String
 }

name顯式聲明是字符串類型,存入整型數(shù)字13報錯


name顯式聲明是字符串類型,存入字符串"13"不再報錯


注意區(qū)別

13是整型數(shù)字,"13"是字符串, 加上引號就是字符串,不加引號是數(shù)字

變量和常量

變量是一個容器,里面存放的是可以改變的數(shù)據(jù).
常量是一個容器,里面存放的是不可以改變的數(shù)據(jù).

上面的代碼我們聲明了變量name,存放String類型的數(shù)據(jù),
接下來我們在name這個容器里面分三次存放了"小華華","妮妮","奧娃"
這個name就是一個變量

有時候某個容器里的數(shù)據(jù)要求是固定不變的,我們就可以用常量聲明


上面的代碼我們定義了PI等于3.1415026,
但是在第4行,我們發(fā)現(xiàn)PI還可以修改為1.1
如果一個容器的數(shù)據(jù)我們希望他是不變的. 可以用val關(guān)鍵字聲明


采用val聲明的常量不可以被修改.

好啦,今天的車就開到這吧.大家辛苦啦

總結(jié):

  • var 聲明變量
  • val 聲明常量
  • 不同的數(shù)據(jù)類型用不同的容器保存
  • kotlin會通過類型推斷自動推斷數(shù)據(jù)類型
  • 我們可以用: 來顯式的指定數(shù)據(jù)類型
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容