前 15 天就是過去一個月的所有實作作品(只學了一個月讀者請包容了QQ),沒有非常華麗的專案,大多都是邊做邊拿來學習用的,再來會進到比較基本的 Kotlin
語法介紹,絕對不是沒梗為了湊文章而寫 ^^
變數宣吿
在 Kotlin
裡頭,變數能夠使用下面兩種方法宣告:
其中 val 代表著當宣告了變數並且賦值之後,就不能夠再修改了,很像其他程式語言的 const 、 final 的宣告,而 var 就是變數,可以一再的賦值。
因為之前碰過一點 Java
,跳到 Kotlin
的時候,對於宣告時一定要先給值的規則蠻困惑的,這邊必須要多加上 lateinit
才可以在編譯時期說我要晚一點給值,在 Java
則無須多加此變數也能達到 lateinit
的效果。
型別
型別有位元上的差異,表示能夠表示的數的範圍。以 8 位元的 byte
為例,可以表示 -127~128 之間的數,因為 8 個 bit 可以呈現 2^8=256 個數,但是因為 MSB (也就是最左邊的那個 bit) 是拿來表示正或者負數的,所以用來表達數值的只有 7 位數,至於為何是 -127~128 呢,可以去參考二補數的概念,是為了改善 1 補數的缺點而定的範圍唷。
迴圈真是個很棒的發明~處理了重複性值很高的工作
for-loop
給定範圍型
表示有給定一個範圍,要 for
從一個起始點,以特定的方式執行到終點(譬如 +1),這邊值得注意的是,在 Kotlin
的 for
的終點 index 是會跑到的,不像 Java
或者 c++
的終點值不會跑到。
以數學呈現範圍方式就是 [起始點, 終點]
,而不是 [起始點, 終點)
for (i in 1..5)
print(i)
陣列型
就是透過 for
去跑完一個有序 set (集合),將集合裡面的元素都經過一遍
var language = arrayOf("Ruby", "Koltin", "Python" "Java")
for (item in language)
println(item)
continue
當遇到 continue
,就會立刻跳到下一個 iteration(如果還有下一個的話),並不會執行 continue
下面的 code
while-loop
while
適合不知道範圍、終止點的迴圈情況,通常會搭配終止條件去做離開 (break)
var x=5
while (x > 0) {
x--
}
do-while
跟 while
的差別,在於一開始要進入回圈那一次,是否要做檢查,如果是 do-while
的話,那就會直接不檢查就執行迴圈內的事情,所以下方程式碼即使 while 的條件是 x>0 才可以在迴圈內,但是因為是 do-while
所以會先執行 x--
,再跳出迴圈
var x=-2
{
x--
}do while (x > 0)