Kotlin Tutorial(1)Hello! Kotlin! by Michael | CodeData
top

Kotlin Tutorial(1)Hello! Kotlin!

分享:
tags: kotlin

另一種JVM程式語言

如果你是一個Android或Java技術開發人員,Groovy、Scala、JRuby或Jython這些JVM Language,或許曾經聽過、看過,甚至已經研究過,不過你可能最後還是回到Java程式語言的懷抱。

Java程式設計語言已經二十幾歲了,如果有人問我「Java是不是一種「好」程式語言?」,我都會這麼回答「只要是可以幫我付帳單和貸款的,都是一種「好」技術」,算是巧妙的迴避問題。因為如果叫我想五個對於Java程式設計語言的形容詞,其中會有三個是比較負面的。如果針對具備三年以上Java程式設計師進行問卷調查,同樣請大家想五個形容詞,不知道會有什麼樣的結果。

Kotlin是一個比較新的JVM程式語言,它是在2011年7月由JetBrains發表的專案,JetBrains是開發工具IntelliJ IDEA的開發商,Android Studio就是以IntelliJ IDEA為基礎的Android官方開發工具。Kotlin v1.0在2016年2月發表,是第一個由JetBrains發佈的Kotlin正式版本。

對我來說,Kotlin跟其它JVM程式語言最大的差異,倒不是架構或語法,而是2017年5月的Google開發人員大會,發佈Android支援Kotlin為官方的程式設計語言。從Android Studio 3開始,開發人員可以直接使用Kotlin開發Android App。

Kotlin FAQ

已經熟悉Java程式設計語言

  • 我為什麼要從Java轉換成Kotlin?

    這個問題的另外一面,可能是「我花了幾年的時間才完全熟悉Java,現在又要我學另一種程式語言,你最好是給我一個非常好、而且很明確的道理」。雖然這是一個很嚴肅的問題,不過我只能提供自己的幾個想法給你參考:

    • 不論是以開發人員或講師的角色來說,Java技術的確是不算簡單的
    • 那Kotlin比Java簡單嗎?對我來說,是的
    • 同樣功能的程式碼,Kotlin比Java的程式碼清爽多了(官方說最多可以減量40%)
    • Kotlin同樣是在JVM運作,Java在這方面的特性Kotlin也有
  • Kotlin可以完全取代Java?

    • 開發Android App:是的
    • 開發Java應用程式,例如WEB、JavaFX:可以(沒有「是的」那麼肯定)
    • Kotlin官方網站說未來還會支援嵌入式、MacOS、iOS
  • Kotlin可以和Java一起運作?

    是的。Kotlin可以使用Java程式碼,Java也可以使用Kotlin程式碼。

  • Kotlin和Java的語法很不一樣嗎?

    是的。不一樣的程度可以想像成長得有點像的父子或母女。(這其實是廢話,這樣的形容幾乎可以套用在所有不同的程式語言)

  • Kotlin也有Java 8的Lambda(functional programming)?

    有。

  • Kotlin採用哪一種授權方式?

    Apache Software License, Version 2.0

  • 需要花費多少時間學習Kotlin?

    如果選擇一個好的教材,可以很容易把你在Java累積的技能快速轉換到Kotlin。(廣告:例如這個系列專欄就是好的教材,未來可能會出版電子書或實體書)

還不認識Java程式設計語言

  • 我想要學習開發Android App,那我應該要先學Java還是Kotlin?

    開發Android App使用Java或Kotlin都可以,都是官方正式支援的程式設計語言。你可以從幾個想法去選擇:

    • 想要比較快速進入開發Android App的階段:選擇Kotlin
    • 以開發Android App為主要的學習目的:選擇Kotlin
    • 不知道該怎麼選擇,也沒有任何想法:選擇Kotlin
  • Java跟Kotlin哪一個比較容易學習?

    我覺得Kotlin比Java容易學習。我的說法應該算是有說服力的,畢竟我已經當了十年以上的講師,而且以Java與Android課程為主。

  • 聽說學會Java以後可以寫很多種程式,Kotlin也可以嗎?

    Java程式設計語言可以開發網頁、嵌入式、桌面與Android應用程式,Kotlin也可以。

  • Kotlin程式設計語言有哪些書和學習資源?

    目前只有少數幾本英文書,網路的學習資源以Kotlin官方網站為主,也是英文。(廣告:這個系列專欄是學習Kotlin不錯的資源,未來可能會出版電子書或實體書)

  • 目前Android App的範例與資源都是用Java寫的,Kotlin也可以使用嗎?

    在Android App專案裡面,Kotlin和Java程式碼可以一起使用,也可以互相使用對方寫的程式碼。

建立Kotlin開發環境

開發Kotlin應用程式需要安裝Java SE JDK與開發工具,Kotlin開發環境有下面幾種選擇:

  • JetBrains的IntelliJ IDEA
  • Eclipse與Kotlin Plugin
  • 在終端機編譯與執行
  • 使用建置工具,包含常見的Ant、Maven與Gradle

這裡使用的開發工具是IntelliJ IDEA Community,其它方式請參考Kotlin官方網站的說明。

下載與安裝JDK

Kotlin需要Java SE JDK 1.6或更新的版本,如果你的電腦還沒有安裝Java SE JDK,依照下列的步驟下載與安裝,或是參考後面的示範影片:

  1. 開啟瀏覽器,在網址列輸入這個網址http://www.oracle.com/
  2. 將滑鼠游標移到「Downloads」,選擇左側的「Java Developers」。
  3. 選擇「JDK」的「DOWNLOAD」的下載圖示。
  4. 進入下載JDK的網頁以後,選擇「Accept License Agreement」,依照你的作業系統版本選擇下載的連結,如果是32位元就選擇「Windows x86」,64位元的話選擇「Windows x64」。
  5. 儲存下載的檔案,下載完成後執行這個檔案開始安裝的步驟,建議使用預設的安裝路徑,在後續的安裝過程中全部選擇「Next >」。
  6. 在完成安裝的視窗選擇「Close」。

詳細的操作步驟可以參考下面的示範影片:

下載與安裝IntelliJ IDEA Community

JetBrains提供免費開放版本的IntelliJ IDEA Community,它完整支援Kotlin程式設計語言。依照下面的步驟執行下載與安裝的工作:

  1. 開啟瀏覽器,在網址列輸入這個網址https://www.jetbrains.com/idea/download/
  2. 選擇「Community」的「DOWNLOAD」,儲存與執行下載的安裝程式:

    kt_01_01

  3. 啟動安裝程式後,在歡迎畫面選擇「Next>」。

  4. 在選擇安裝位置(Choose Install Location)畫面選擇「Next>」。

  5. 在安裝選項(Installation Options)畫面,依照電腦的作業系統,勾選「32-bit launcher」或「64-bit launcher」, 最後選擇「Next>」:

    kt_01_02

  6. 在選擇開始功能表(Choose Start Menu Folder)畫面選擇「Install」開始安裝。

  7. 在完成安裝的畫面,勾選「Run IntelliJ IDEA Community Edition」後選擇「Finish」:

    kt_01_03

  8. 安裝程式自動啟動IntelliJ IDEA Community,第一次啟動後在「Complete Installation」對話框選擇「Do not import settings」,最後選擇「OK」:

    kt_01_04

  9. 在「Customize IntelliJ IDEA」畫面,選擇開發工具的樣式為「IntelliJ」或「Darcula」,最後選擇「Skil All and Set Defaults」:

    kt_01_05

  10. 出現IntelliJ IDEA的主畫面,完成安裝與初始設定:

    kt_01_06

Hello World!

  1. 在IntelliJ IDEA的主畫面選擇「Create New Project」:

    kt_01_07

  2. 在「New Project」視窗選擇「Java」後,選擇右上角的「New…」:

    kt_01_08

  3. 在「Select Home Directory for JDK」視窗,選擇JDK的安裝資料夾後選擇「OK」:

    kt_01_09

  4. 回到「New Project」視窗,Project SDK已經設定為上一步驟的選擇:

    kt_01_10

  5. 在「New Project」視窗的「Additional Libraries and Frameworks」勾選「Kotlin(Java)」後選擇「Next」:

    kt_01_11

  6. 在「Project name」輸入專案名稱,例如「HelloKotlin」,最後選擇「Finish」。

  7. 在出現「Tip of the Day」對話框,取消「Show Tips on Startup」勾選,再選擇「Close」,以後啟動就不會再出現這個對話框。

  8. 第一次建立Kotlin專案會花費一些時間執行初始化的工作。

  9. 完成初始化工作後,在專案的「src」目錄按滑鼠右鍵,選擇「New -> Kotlin File/Class」:

    kt_01_12

  10. 在「New Kotlin file/class」對話框的「Name:」輸入程式碼檔案名稱,例如「HelloWorld」,最後選擇「OK」。

  11. 在新建立的程式碼檔案輸入下面的內容:

    fun main(args: Array<String>) {
        println("Hello World!")
    }
  12. 用滑鼠游標選擇Kotlin圖示後選擇「Run 'HelloWorld.kt'」,也可以使用快速鍵「Ctrl+Shift+F10」:

    kt_01_13

  13. 執行程式以後在畫面下方顯示「Hello World!」:

    kt_01_14

第一個Kotlin程式碼FAQ

  • 不需要宣告類別?

    是的。

  • 「fun」好像是用來宣告main方法?

    是的。Kotlin程式的進入點(Java的main方法),是一個名稱為「main」,參數為「Array、字串陣列」的函式。

  • println為什麼沒有System.out?

    其實println是Kotlin定義在Console.kt裡面的函式。

  • 敘述的最後面不需要分號(;)?

    是的。你也可以加上分號,不過那是多餘的。如果需要在一行執行多個敘述,可以使用分號隔開。例如:

    fun main(args: Array<String>) {
        println("One"); println("Two")
    }

下一步

想要趕快開始寫Kotlin程式?在安裝好開發環境以後,接下來的「10分鐘認識Kotlin」,使用精心挑選的主題,讓你快速認識Kotlin的基本精神。

相關的檔案都可以在GitHub瀏覽與下載。

https://github.com/macdidi5/Kotlin-Tutorial

後續 >> Kotlin Tutorial(2)10分鐘認識Kotlin

分享:
按讚!加入 CodeData Facebook 粉絲群

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

關於作者

張益裕。目前的工作是講師與作者,專長是教育訓練課程規劃、教材編製與課程推廣,技術書籍與專欄寫作。涵蓋的領域有OOAD、Java程式設計、JavaFX、Java Embedded、Android與SQL。已出版電子書Google Play圖書Pubu

熱門論壇文章

熱門技術文章