在學習一門程式語言,那必然是學習語法 ,在語法的學習之中資料型別又有著舉足輕重的地位,今天我們就聊聊kotlin的基本資料型別
kotlin 提供了一組表示數字的內建型別。 對於整數,有四種不同大小的型別,因此值的範圍也不同。
這是kotlin官網的一張關於基本資料型別的截圖,kotlin的一大特點便是資料的型別推倒,所有以未超出 int 最大值的整型值初始化的變數都會推斷為 int 型別。如果初始值超過了其最大值,那麼推斷為 long 型別。 如需顯式指定 long 型值,請在該值後追加 l 字尾。
fun
main()
對於浮點數,kotlin 提供了 float 與 double 型別。 根據 ieee 754 標準, 兩種浮點型別的十進位制位數(即可以儲存多少位十進位制數)不同。 float 反映了 ieee 754 單精度,而 double 提供了雙精度。
val doublevalue =
2.3//自動推斷為double型別
val floatvalue =
2.4f
//通過顯示的新增乙個f宣告float型別資料
請注意,與一些其他語言不同,kotlin 中的數字沒有隱式拓寬轉換。 例如,具有 double 引數的函式只能對 double 值呼叫,而不能對 float、 int 或者其他數字值呼叫。我的理解就是看到這樣寫出來的變數就知道他是啥(是什麼型別的變數),在kotlin中對於整型的字面量包含2進製, 10 進製和16進製制 (不支援8進製)
val value =
1//自動推斷為int型別 十進位制的整型
val value2 =
0x0f
//自動推斷為int型別 十六進製制的整型
val value3 =
0b00001011
//自動推斷為int型別 二進位制的整型
對於float和double型別 預設的字面量是小數,float型別的字面量是後面加了f的小數
val doublevalue =
2.3//自動推斷為double型別
val floatvalue =
2.4f
//通過顯示的新增乙個f宣告float型別資料
kotlin中的顯示轉化就是可以將乙個大的型別通過 to***()轉化為對應的型別
每個數字型別支援如下的轉換:
tobyte()
: byte
toshort()
: short
toint()
: int
tolong()
: long
tofloat()
: float
todouble()
: double
tochar()
: char
kotlin支援數字運算的標準集,運算被定義為相應的類成員(但編譯器會將函式呼叫優化為相應的指令)
浮點數的比較
相等性檢測:a == b 與 a != b
比較操作符:a < b、 a > b、 a <= b、 a >= b
區間例項以及區間檢測:a..b、 x in a..b、 x !
in a..b
字元用 char 型別表示。它們不能直接當作數字,但是我們可以顯式把字元轉換為 int 數字:
fun
decimaldigitvalue
(c: char)
: int
布林用 boolean 型別表示,它有兩個值:true 與 false。若需要可空引用布林會被裝箱。
boolean資料型別的運算
|| – 短路邏輯或
&& – 短路邏輯與
!- 邏輯非
字串用 string 型別表示。字串是不可變的。 字串的元素——字元可以使用索引運算子訪問: s[i]
for
(c in str)
可以用 + 操作符連線字串。這也適用於連線字串與其他型別的值, 只要表示式中的第乙個元素是字串:
val s =
"abc"+1
println
(s +
"def"
)
字串的字面值:kotlin 有兩種型別的字串字面值: 轉義字串可以有轉義字元, 以及原始字串可以包含換行以及任意文字。原始字串 使用三個引號(""")分界符括起來,內部沒有轉義並且可以包含換行以及任何其他字元:
字串模版:字串字面值可以包含模板表示式 ,即一些小段**,會求值並把結果合併到字串中。 模板表示式以美元符($)開頭,由乙個簡單的名字構成:
val i =
10println
("i = $i"
)// 輸出「i = 10」
val s =
"abc"
println
("$s.length is $")
// 輸出「abc.length is 3」
Kotlin基本資料型別
type bitdouble 64float 32long 64int 32short 16byte 8type chararray bytearray shortarray intarray floatarray doublearray 常量 定義 val final hello world st...
Kotlin 基本資料型別
1.資料型別 1 數值 numbers btye short int long float double。2 字元 characters char。3 字串 strings string。4 布林 boolean boolean。5 陣列 arrays array 2.數值 1 長整型 100l 十...
基本資料型別
列舉 定義列舉型別 enum season 定義兩個列舉變數 enum season mylove yourlove 為兩個列舉變數賦值 yourlove fall mylove winter 把列舉值當成無符號整數執行輸出 nslog fall 的值 u fall 3 nslog winter 的...