iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

學習 Android Kotlin 隨筆系列 第 16

[ Day 16 ] Kotlin 基本功(一)程式語法練習

  • 分享至 

  • xImage
  •  

前言

前 15 天就是過去一個月的所有實作作品(只學了一個月讀者請包容了QQ),沒有非常華麗的專案,大多都是邊做邊拿來學習用的,再來會進到比較基本的 Kotlin 語法介紹,絕對不是沒梗為了湊文章而寫 ^^

語法

  • 變數宣吿

    Kotlin 裡頭,變數能夠使用下面兩種方法宣告:

    • val (value)
    • var (variable)

    其中 val 代表著當宣告了變數並且賦值之後,就不能夠再修改了,很像其他程式語言的 const 、 final 的宣告,而 var 就是變數,可以一再的賦值。
    因為之前碰過一點 Java,跳到 Kotlin 的時候,對於宣告時一定要先給值的規則蠻困惑的,這邊必須要多加上 lateinit 才可以在編譯時期說我要晚一點給值,在 Java 則無須多加此變數也能達到 lateinit 的效果。

  • 型別

    • Byte:8位元整數
    • Short:16位元整數
    • Int:32位元整數
    • Long:64位元整數
    • Float:32位元浮點數
    • Double:64位元浮點數
    • Char:字元
    • String:字串
    • Boolean:邏輯

    型別有位元上的差異,表示能夠表示的數的範圍。以 8 位元的 byte 為例,可以表示 -127~128 之間的數,因為 8 個 bit 可以呈現 2^8=256 個數,但是因為 MSB (也就是最左邊的那個 bit) 是拿來表示正或者負數的,所以用來表達數值的只有 7 位數,至於為何是 -127~128 呢,可以去參考二補數的概念,是為了改善 1 補數的缺點而定的範圍唷。

迴圈

迴圈真是個很棒的發明~處理了重複性值很高的工作

  • for-loop

    • 給定範圍型

      表示有給定一個範圍,要 for 從一個起始點,以特定的方式執行到終點(譬如 +1),這邊值得注意的是,在 Kotlinfor 的終點 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)
      

上一篇
[ Day 15 ] 是 RecyclerView 清單啊!(四)實作 聊天室介面
下一篇
[ Day 17 ] Kotlin 基本功(二)程式語法練習
系列文
學習 Android Kotlin 隨筆30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言