iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0

勇者正在看五大基本資料型別(basic types)的文件,Kotlin 不像一些其他程式語言,它沒有傳統的原始資料型別(primitive types),而是使用封裝類別(wrapper classes)來表示基本資料型別的值。

勇者會開始看基本資料型別,還是因為氣泡排序裡出現了「var swapped: Boolean」的用法。

勇者很困惑的問蕭凱琪:「變數後面不是等號嗎?這個怎麼是冒號?」

蕭凱琪這才發現之前的範例裡的變數都是直接指定值:「喔,那是因為有時候只知道類型是真假值,而不知道或是不需要決定是真還是假。比如,swapped在一開始就決定了真假也沒有意義,因為接下來的『do』裏面馬上就重新指定是假了,所以與其花力氣指定真假,不如空著,還能節省儲存的資源。」

https://ithelp.ithome.com.tw/upload/images/20230929/201291979d8IvXmNl0.png

「可是不是『while』裡的條件為真,才會執行內容嗎?」勇者更困惑了。

蕭凱琪解釋:「程式碼執行的順序和我們人類閱讀的順序一致,由左而右,由上而下,『do while』這個例子也不例外,所以可想而知它的執行方式是先執行一次『do』裏的內容,然後看『while』條件來決定要不要重複執行,換句話說,就是『do』裏的內容至少會執行一次。」

勇者恍然大悟:「原來如此!這樣就說得通了。所以Boolean就是真假值的類型,那數字的類型就是Int囉?」

「你怎麼知道?我還以為你會猜是Integer呢。」

畢竟確實有些程式語言是用Integer當作整數類型。

勇者指著程式碼說:「因為放數字陣列的函式是『intArrayOf』啊。」

「哈哈,說的也是呢。」蕭凱琪感到意外卻也很驚喜。「這個切入點滿不錯的,放真假值陣列的函式也是『booleanArrayOf』,我們來看看還有哪些函式!」蕭凱琪說著就點擊了「intArrayOf」函式,跳到「intArrayOf」的所在原始檔案裡。

https://ithelp.ithome.com.tw/upload/images/20231002/20129197unr4sZT7gu.png

「好多啊。」勇者有點看花了眼。

蕭凱琪看著程式碼感嘆:「原來有這麼多啊,我之前也沒注意到呢。我看看,嗯⋯⋯除了String以外,其他的基本資料型別都在裡面了。」

「基本資料型別指的是什麼?」勇者聽到新名詞馬上發問。

「嗯⋯⋯你知道積木嗎?」蕭凱琪想著該怎麼說明比較好。

「知道,孩子們的玩具對嗎?」勇者說。

『其實不只是孩子,現在的積木都可以做成機器人來執行走路程式了。』蕭凱琪只在心裡碎碎念沒說出來。

蕭凱琪說:「總之就是和積木一樣,程式提供基本型別,你想要的資料都可以用這些基本型別組合出來。」


上一篇
Day09#2 經典但不實用的氣泡排序
下一篇
Day10#2 勇者狀態窗資料
系列文
Kotlin快速轉職系列-勇者篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言