<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
上一篇學習了Kotlin基礎語法知識,本篇開始會深入探討一下Kotlin各個基礎語法點。首先來熟悉Kotlin的資料型別和型別轉換版塊。
在Kotlin中提供了數值型別:
下面表格列出了所有數值型別的位寬度:
型別 | 位寬度 |
---|---|
Double | 64 |
Float | 32 |
Long | 64 |
Int | 32 |
Short | 16 |
Byte | 8 |
數值型別都⽀持轉換:
toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char
val myTrue: Boolean = true val myFalse: Boolean = false val boolNull: Boolean? = null
|| – 短路邏輯或 && – 短路邏輯與 ! - 邏輯非
- Kotlin 中字串⽤ String 型別表示;
- 和 Java 一樣,String 是不可變的;
- 元素:字元可以使⽤索引運運算元存取: s[i]
Kotlin 有兩種型別的字串字⾯值:
val s = "Hello, world!n"
val text = """ for (c in "foo") print(c) """ // text可以原封不變列印出來,包括換行符格式
模板表示式以美元符( $ )開頭,要麼由⼀個的名稱構成:
val i = 10 println("i = $i") // 輸出「i = 10」 // 表示式使用 {} 括起來 val s = "abc" println("$s.length is ${s.length}") // 輸出「abc.length is 3」
在 Kotlin 中使⽤ Array 類來表示, 使⽤函數 arrayOf()
來建立⼀個陣列並傳遞元素值給它。
// 建立⼀個 Array 初始化為 ["0", "1", "4", "9", "16"] val asc = Array(5) { i -> (i * i).toString() }
⽆裝箱開銷的類組成原生型別陣列:ByteArray 、 ShortArray 、 IntArray等,它們與 Array 並沒有繼承關係,但都有同樣的方法屬性集。
// ⼤⼩為 5、值為 [0, 0, 0, 0, 0] 的整型陣列 val arr = IntArray(5)
在 Kotlin 中,⼤多數場景都不需要使⽤顯式轉換操作符,因為編譯器會很智慧地進行轉換
if (x !is String) return print(x.length) // x ⾃動轉換為字串
智慧轉換⽤於 when 表示式:
when (x) { is Int -> print(x + 1) is String -> print(x.length + 1) is IntArray -> print(x.sum()) }
使⽤ is
操作符或其否定形式 !is
在運⾏時檢測物件是否符合給定型別
if (obj is String) { // 程式碼處理 } if (obj !is String) { // 程式碼處理 }
as 是不安全 轉換操作符,如果 一個表示式的轉換是不成立的,會丟擲異常
val x: String = y as String // 會存在 y 不能轉換成 String的情況, 則會報錯
值得注意: null 不能轉換為 String 因該型別不是可空的。 如果 y 為空,上⾯的程式碼 會丟擲⼀個異常。 為了讓這樣的程式碼⽤於可空值,請在型別轉換的右側使⽤可空型別:
val x: String? = y as String? // 這樣是可以的
為避免異常,可以使⽤安全轉換操作符 as? ,它可以在失敗時返回 null :
val x: String? = y as? String // 這是一種 安全 轉換操作符
本篇主要熟悉Kotlin的基本資料型別和型別轉換的知識點,掌握了這些基本點,為後面函數,介面,類的成員變數宣告等奠定基礎。
為方便理解知識點,可以類比 Java ,通過對比印象會更深,記得更牢固
以上就是Kotlin程式設計基礎資料型別範例詳解的詳細內容,更多關於Kotlin資料型別的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45