2. Kotlin基本數(shù)據(jù)類型

基本數(shù)值類型包括Byte/Short/Int/Long/Float/Double。值得注意的是,字符不屬于數(shù)值類型,是一個獨立的數(shù)值類型。
數(shù)據(jù)類型的寬度

數(shù)據(jù)類型 寬度
Byte 8
Short 16
Int 32
Long 64
Float 32
Double 64

字面常量

  • 十進(jìn)制:123
  • 長整形: 123LL結(jié)尾
  • 16進(jìn)制:0xF00x開頭
  • 2進(jìn)制:0b01010b開頭
  • Double型:123.4/123e10
  • Float型:123.4ff/F結(jié)尾
  • 不支持8進(jìn)制

可以使用_增強(qiáng)數(shù)字可讀性:`0b0101_0000_1010_1111

比較兩個數(shù)字

Kotlin中沒有基礎(chǔ)數(shù)值類型,所有的都是對象,定義的沒一個變量都是封裝的對象,因此在比較時就有數(shù)據(jù)大小還是對象是否相同的區(qū)別。

===比較的是對象地址,也就是對象是不是同一個,==比較的是兩個變量值的大小

val a:Int = 222
println("(a === a) = " + (a === a))
println("(a == a) = " + (a == a))
val aBoxeda:Int = a
val anotherBoxeda:Int = a
println("(aBoxeda === anotherBoxeda) = " + (aBoxeda === anotherBoxeda))
println("(aBoxeda == anotherBoxeda) = " + (aBoxeda == anotherBoxeda))

輸出

(a === a) = true
(a == a) = true
(aBoxeda === anotherBoxeda) = true
(aBoxeda == anotherBoxeda) = true

注意上面的聲明,兩個裝箱的變量都是非可空的,如果定義為可空,那么輸出的將會是flase

val aBoxeda:Int? = a
val anotherBoxeda:Int? = a
println("(aBoxeda === anotherBoxeda) = " + (aBoxeda === anotherBoxeda))
println("(aBoxeda == anotherBoxeda) = " + (aBoxeda == anotherBoxeda))

看,就像這樣,更深層的東西以后再研究

(aBoxeda === anotherBoxeda) = false
(aBoxeda == anotherBoxeda) = true
最后編輯于
?著作權(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)容