接續上次的士兵類別,提到名字用了 String 變數。
String 是字串的意思,在 Kotlin 裡,常見變數可以分成幾個基本資料型別:數字(Number)、字串(String)、布林(Boolean)。
差別在於行為模式不同,以加法為例,數字執行數學課上的四則運算的加法,字串卻做了連接,布林則是不認識加法。
字串兩側的雙引號保護了內容不被程式做另外的編譯處理,能被當作單純的文字;如果內容只有一個字元(Char),可改用單引號。
數字有更多分支,位元組(Byte)、短整數(Short)、整數(Int)、長整數(Long)都是整數,浮點數(Float)、雙精度浮點數(Double)包含小數點。
這許許多多型別是因為資料長度限制,如果確定了數字的範圍,當然是使用越少空間越好。也因此要小心,當計算後的結果超過原本的設定範圍,會發生溢位(Overflow),把本來預留給正負號的地方(0正數,1負數)給佔據了,這個過肥的正數就被程式當作負數囉。
一位元是最小長度單位,可以放一個0或1,這就是電腦只認識的010101二進制。而我們平常用的十進制,程式執行時會翻譯成二進制 。 Int 容許的範圍是:-2的31次方到2的31次方-1。-2的31次方+1或是2的31次方就會溢位了。
如果想記住長度規則,這裡有個小訣竅,常用的32位元(bit)就是 Int 和 Float,雙倍的64位元(bit)是 Long 和 Double,砍半的16位元(bit)是 Short ,最小的8位元(bit)Byte 發音和八一樣。
Kotlin 裡布林的世界只有真(true)和假(false),在條件式(Conditions)的章節會更加詳細解釋,現在只要知道它不是字串,別加雙引號,哈哈。