程式設計人員的 Kotlin 新手上路課程 1:開始使用

這個程式碼研究室是「程式設計人員的 Kotlin 新手上路課程」的一部分。如果您按部就班完成程式碼研究室,就能充分體驗到本課程的價值。視您的知識多寡而定,您或許能略過某些部分。本課程適用於熟悉物件導向語言,且想學習 Kotlin 的程式設計師。

簡介

程式設計人員的 Kotlin 新手上路課程會教您 Kotlin 程式設計語言。在本程式碼研究室中,您將瞭解使用 Kotlin 程式設計語言的優點,並安裝 IDE,為第一堂課做好準備。

本課程適用於熟悉物件導向語言,且想進一步瞭解 Kotlin 的程式設計師。如果您熟悉 C#,對於 Kotlin 的某些功能也一定不會陌生。如果您主要熟悉 Java 程式設計語言,可能會驚訝於程式碼的簡潔程度和可讀性。

自 2017 年起,Google 正式支援使用 Kotlin 開發 Android 應用程式。請參閱 Android 開發人員網誌的公告。本課程內容是「Android Kotlin 基礎知識」課程的先修課程。

必備知識

您必須已經熟悉下列項目:

  • 現代物件導向靜態型別程式設計語言 (例如 Java 或 C#) 的基礎知識
  • 至少一種語言的類別、方法和例外狀況處理程式設計
  • 使用 IntelliJ IDEA、Android Studio、Eclipse 或 Visual Studio 等 IDE

課程內容

  • 如何使用 Kotlin REPL (Read-Eval-Print Loop) 互動式殼層
  • Kotlin 程式碼的基本語法

學習內容

  • 安裝 Java 開發套件 (JDK) 和 IntelliJ IDEA,並熟悉一些 Kotlin 功能。

Kotlin 是由程式設計人員為程式設計人員打造的全新現代程式設計語言。著重於清楚、簡潔和程式碼安全。

強大的程式碼

Kotlin 創作者針對這門語言做出各種設計決策,協助程式設計師建立穩固的程式碼。舉例來說,軟體中的空指標例外狀況造成了財務損失和電腦當機,並導致無數小時的偵錯。因此 Kotlin 會區分可為空值和不可為空值的資料型別,有助於在編譯時偵測更多錯誤。Kotlin 是強型別語言,可從程式碼推斷型別。Kotlin 具有 Lambda、協同程式和屬性,可讓您編寫較少的程式碼,減少錯誤。

成熟平台

Kotlin 自 2011 年推出以來,於 2012 年發布為開放原始碼。Kotlin 在 2016 年推出 1.0 版,並於 2017 年成為官方支援的 Android 應用程式建構語言。IntelliJ IDEA 和 Android Studio 3.0 以上版本都包含這項功能。

簡潔易讀的程式碼

以 Kotlin 編寫的程式碼非常簡潔,而且這門語言的設計宗旨是消除樣板程式碼,例如 getter 和 setter。舉例來說,請看以下 Java 程式碼:

public class Aquarium {

   private int mTemperature;

   public Aquarium() { }

   public int getTemperature() {
       return mTemperature;
   }

   public void setTemperature(int mTemperature) {
       this.mTemperature = mTemperature;
   }

   @Override
   public String toString() {
       return "Aquarium{" +
               "mTemperature=" + mTemperature +
               '}';
   }
}

在 Kotlin 中,可以簡潔地編寫如下:

class Aquarium (var temperature: Int = 0)

有時簡潔和可讀性這兩個目標會互相衝突。Kotlin 的設計宗旨是使用「足夠的樣板程式碼」,確保可讀性,同時保持簡潔。

可與 Java 互通

Kotlin 程式碼編譯後,您就能並行使用 Java 和 Kotlin 程式碼,並繼續使用慣用的 Java 程式庫。您可以將 Kotlin 程式碼新增至現有的 Java 程式,也可以使用 IntelliJ IDEA 和 Android Studio 內建的工具,將現有的 Java 程式碼遷移至 Kotlin 程式碼,完全遷移程式。

如果電腦上尚未安裝最新版 JDK,請按照下列步驟操作。您必須安裝 JDK,才能執行 Kotlin 程式。

如要查看已安裝的 JDK 版本 (如有),請在終端機視窗中輸入 javac -version

javac -version

您可以在「Java SE Downloads」頁面查看最新版 JDK。如果已是最新版本,請直接跳到「安裝 IntelliJ IDEA」。

步驟 1:解除安裝所有舊版 JDK/JRE

安裝最新版本前,請先移除所有舊版 JDK:

  • 如果是 Windows,請依序選取「控制台」 >「新增/移除程式」
  • 如需 Mac 操作說明,請參閱「解除安裝 JDK」。

如要進一步瞭解如何解除安裝舊版 JRE,請參閱「如何在 Mac 上解除安裝 Java?」或「如何在 Windows 電腦上解除安裝 Java?」。

步驟 2:下載 JDK

您可以在這裡免費下載 JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

  1. 按一下最新 Java SE 版本 JDK 下方的「下載」按鈕。
  2. 選取「接受授權協議」
  3. 選擇適用於您作業系統的 JDK。

步驟 3:安裝 JDK (適用於 Mac)

在瀏覽器的「下載」視窗或檔案瀏覽器中,按兩下 .dmg 檔案,啟動安裝檔案。

  1. 系統會顯示「Finder」視窗,內含開啟的方塊圖示和 .pkg 檔案名稱。
  2. 按兩下套件圖示啟動安裝應用程式,然後按照畫面上的提示操作。
  3. 你可能需要輸入管理員密碼才能繼續。
  4. 安裝完成後,您可以刪除 .dmg 檔案來節省空間。

步驟 3:安裝 JDK 和 JRE (適用於 Windows)

  1. 執行下載的安裝程式 (例如 jdk-12_windows-x64_bin.exe),安裝 JDK 和 JRE。根據預設,JDK 會安裝在 C:\Program Files\Java\jdk-12 目錄中。JRE 會安裝在 C:\Program Files\Java\jre1.8.0_x 中,其中 x 表示版本號碼。
  2. 接受預設值,然後按照畫面上的指示安裝 JDK。

步驟 4:將 JDK 和 JRE 安裝目錄新增至 PATH (僅限 Windows)

Windows 會在目前目錄和 PATH 環境變數 (系統變數) 中列出的目錄中,搜尋可執行程式。

  1. 依序開啟「控制台」 >「系統」 >「進階系統設定」 >「環境變數」
  2. 在「系統變數」下方,按一下「新增」,然後新增名為 JAVA_HOME 的變數,並將 JRE 的目錄設為值。例如 C:\Program Files\Java\jre1.8.0_x,其中 x 是版本號碼。
  3. 在「系統變數」下方,向下捲動並選取「路徑」,然後按一下「編輯」
  4. 將 JRE 的 bin 目錄加到 Path 的開頭,後面加上半形分號:%JAVA_HOME%\bin;
  5. Path 結尾附加 JDK 的 bin 目錄,並在前面加上半形分號。例如:;C:\Program Files\Java\jdk-12\bin

步驟 5:驗證 JDK 安裝作業

  1. 如要確認 JDK 是否已正確安裝,請在終端機視窗中輸入下列指令:
java -version
javac -version

步驟 1:下載並安裝 IntelliJ IDEA

根據您的作業系統下載 IntelliJ IDEA

Windows:

  1. 執行您下載的 ideaIC.exe 檔案。
  2. 按照安裝精靈中的指示操作。

Mac:

  1. 如要掛接 macOS 磁碟映像檔,請在下載的 ideaIC.dmg 檔案上按兩下。
  2. 將「IntelliJ IDEA」複製到「Applications」資料夾。

Linux:

  1. 請在下載的 .tar.gz 檔案中查看 Install-Linux-tar.txt

如要進一步瞭解如何安裝及設定 IntelliJ IDEA,請參閱「安裝 IntelliJ IDEA」。

步驟 2:驗證 IntelliJ IDEA 安裝作業

  1. 啟動 IntelliJ IDEA。
  2. 按照提示安裝所有更新和其他內容。
  3. 依序選取「設定」 >「檢查更新」,直到沒有可用的更新為止。

建立 Kotlin 專案,讓 IntelliJ IDEA 知道您要使用 Kotlin。

  1. 在「Welcome to IntelliJ IDEA」視窗中,按一下「Create New Project」
  2. 在「New Project」窗格中,選取左側導覽中的「Kotlin」
  3. 在右側面板中選取「Kotlin/JVM」,然後點選「Next」
  4. 為專案命名 Hello Kotlin
  5. 按一下「完成」

現在您可以存取 REPL (Read-Eval-Print Loop),也就是 Kotlin 的互動式殼層。只要按下 Control+Enter 鍵 (Mac 上為 Command+Enter 鍵),系統就會解譯您在 REPL 中輸入的指令。

  1. 依序選取「Tools」 >「Kotlin」 >「Kotlin REPL」,開啟 REPL。
  1. 在 REPL 中輸入或貼上下列程式碼。
fun printHello() {
    println("Hello World")
}

printHello()
  1. 按下 Control+Enter 鍵 (Mac 則為 Command+Enter 鍵)。您應該會看到 Hello World,如下所示。
  1. 請快速瀏覽這段 Kotlin 程式碼。fun 關鍵字會指定函式,後接名稱。與其他程式設計語言一樣,括號用於函式引數 (如有),大括號則用於函式的程式碼。由於函式不會傳回任何內容,因此沒有傳回型別。另請注意,行尾沒有半形分號。

恭喜!您已編寫第一個 Kotlin 程式。

  • Kotlin 與其他物件導向程式設計語言類似。
  • 如要使用 Kotlin,請為作業系統安裝最新版 JDK。
  • 安裝 IntelliJ IDEA,以便使用 Kotlin。
  • 在 IntelliJ IDEA 中啟動 Kotlin REPL (依序點選「Tools」>「Kotlin」>「Kotlin REPL」),在互動式殼層中練習。
  • 輸入程式碼,然後按下 Control+Enter 鍵 (Mac 上的 Command+Enter 鍵) 執行程式碼。
  • 以下是 Kotlin 中的「Hello World」:
fun printHello() {
    println ("Hello World")
}

printHello()

Kotlin 說明文件

如要進一步瞭解本課程的任何主題,或遇到問題,請前往 https://kotlinlang.org

Kotlin 教學課程

https://try.kotlinlang.org 網站提供豐富的教學課程 (稱為 Kotlin Koans)、網頁式解譯器,以及附有範例的完整參考文件。

Udacity 課程

如要查看這個主題的 Udacity 課程,請參閱「程式設計人員的 Kotlin 新手上路課程」。

IntelliJ IDEA

IntelliJ IDEA 的說明文件位於 JetBrains 網站。

本節列出的作業可由課程講師指派給學習本程式碼研究室的學員。講師可自由採取以下行動:

  • 視需要指派作業。
  • 告知學員如何繳交作業。
  • 為作業評分。

講師可以視需求使用全部或部分建議內容,也可以自由指派任何其他合適的作業。

如果您是自行學習本程式碼研究室,不妨利用這些作業驗收學習成果。

回答問題

第 1 題

下列何者「不是」使用 Kotlin 語言的優點?

▢ Kotlin 會區分可為空值和不可為空值的資料類型。

▢ Kotlin 是建構 Android 應用程式的支援語言。

▢ Kotlin 的設計宗旨是讓您編寫更少的程式碼,減少錯誤。

▢ Kotlin 可加快程式碼編譯速度。

第 2 題

如何啟動 Kotlin REPL?

▢ 在指令列中輸入 repl

▢ 在 IntelliJ IDEA 中建立 Kotlin 專案,然後依序選取「Run」>「Kotlin REPL」

▢ 開啟 IntelliJ IDEA,然後選取「File」>「Kotlin REPL」

▢ 在 IntelliJ IDEA 中建立 Kotlin 專案,然後依序選取「Tools」>「Kotlin」>「Kotlin REPL」

第 3 題

下列有關 Kotlin 和 Java 程式碼的敘述何者不正確?

▢ Kotlin 程式碼和 Java 程式碼可以並行執行。

▢ 您可以在現有的 Java 程式中新增 Kotlin 程式碼。

▢ 您可以將現有 Java 程式碼遷移至 Kotlin。

▢ Kotlin 程式碼的執行速度會比 Java 程式碼更快。

繼續下一個課程:2. Kotlin 基本概念

如要查看課程總覽,包括其他程式碼研究室的連結,請參閱「程式設計人員的 Kotlin 新手上路課程:歡迎參加本課程。