在 Kotlin 中編寫第一個程式

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

1. 事前準備

在本程式碼研究室中,您需要使用可以在瀏覽器執行的互動式編輯器,以 Kotlin 語言編寫第一個程式。

將「程式」想成一系列的指示,可讓系統執行某些動作。舉例來說,您可以編寫程式來建立生日卡。在該程式中,您可以編寫指示來列印祝賀文字,或根據某人的出生年份計算其年齡。

就像使用人類語言與他人溝通交流一樣,您也可以利用程式設計語言與電腦作業系統溝通交流。更棒的一點是,程式設計語言沒有人類語言那麼複雜,而且更具邏輯性!

Android 應用程式以 Kotlin 程式設計語言編寫而成。Kotlin 是一種現代化語言,可協助開發人員有效地編寫程式碼,盡量減少錯誤。

同時學習如何建立應用程式,以及程式設計的基本知識並不容易,因此您在開始建立應用程式前,會先進行幾項程式設計。先熟悉某些程式設計基本知識,不僅是建立應用程式的重要步驟,也會使未來在本課程中建立第一個應用程式更加輕鬆。

「程式碼編輯器」這項工具可協助您撰寫程式碼,就像文字處理器 (例如 Google 文件) 協助您建立文字文件一樣。在本程式碼研究室中,您要在瀏覽器中使用互動式 Kotlin 編輯器。也就是說,您不必安裝任何軟體,即可開始開發應用程式。

必要條件

  • 在網路瀏覽器中使用互動式網站。

課程內容

  • 如何建立、變更、瞭解並執行用於顯示訊息的最小 Kotlin 程式。

建構項目

  • 以 Kotlin 程式設計語言編寫的程式,執行時會顯示訊息。

需求條件

  • 搭載新式網路瀏覽器的電腦,例如最新版 Chrome
  • 電腦具備網際網路連線。

2. 在 Kotlin 中執行第一個程式

在這項工作中,您要使用網站上的編輯器,立即開始使用 Kotlin 語言進行程式設計。

使用互動式程式碼編輯器

您可以使用網頁式工具來建立第一項程式,而不必在電腦上安裝軟體。

  1. 在瀏覽器中開啟 https://developer.android.com/training/kotlinplayground。系統會開啟使用瀏覽器的程式設計工具。
  2. 您應該會看到類似於以下螢幕截圖的頁面,頁面中間是程式碼編輯器。c76b631b5d7b5546.png

以下是編輯器中的程式程式碼:

fun main() {
    println("Hello, world!")
}

執行程式程式碼

執行您建立的程式,與在電腦上執行文字處理器等程式大同小異。不同之處在於,執行程式以完成工作或玩遊戲時,您主要關心程式可以為您做什麼,而是使其運作的程式碼。編寫程式時,您會看到並使用能展現神奇效果的實際程式碼。

我們來看看這項程式的用途!

  1. 在編輯器的右上角,找到白色或綠色三角形 3384088a105a0da9.png,按一下即可執行程式。
  2. 查看底部的窗格。
Hello, world!
  1. 請注意列印的 Hello, world!,如上圖所示。現在,您已經瞭解這項程式的用途:這項程式可列印或輸出一則 Hello World 訊息。

編譯是一項程序,可將 Kotlin 程式程式碼轉換為系統可執行的表單。如果編譯成功完成,程式就不會發生錯誤,導致其無法執行。如果發生問題,問題會顯示在畫面底部的窗格中。

3. 修改程式

變更 Hello World 程式碼

我們略微變更了程式的用途。

  1. "Hello, world!" 文字變更為 "Happy Birthday!"
  2. 按一下右上角的藍色或綠色執行按鈕,即可執行程式。
  3. 畫面底部應會顯示列印的 Happy Birthday!,如下所示。
Happy Birthday!

運作方式

完成方式這組程式碼的作用似乎只是列印而已!

假設您想讓朋友在一張紙上寫下 "Hello, world!",當中包含很多隱含資訊。如果您只是告訴他們「在這張紙上寫下 ‘Hello world!'」,他們會猜想您說這句話背後的意思。比方說,他們會假設自己需要使用筆,並且您希望他們用字母書寫!電腦無法進行這些假設,因此您需要提供每個步驟的確切說明。

就像英文有結構一樣,程式設計語言也是如此。如果您曾學習過其他語言,您就會知道瞭解文法、拼寫、可能還有新的符號字母表和詞彙很困難。學習程式也存在類似的挑戰,但幸運的是,它沒有學習英文等語言那樣複雜,也更具邏輯性。

瞭解程式的各個部分

現在,我們來看看程式碼。此程式的每個部分都是一個特定目的,而您需要瞭解所有部分,才能執行這個程式。我們先從第一個字詞開始。

fun
  • fun 是 Kotlin 程式設計語言中的字詞。fun 代表函式。函式是程式中用於執行特定工作的一部分。
fun main
  • main 是這個函式的名稱。函式具有名稱,因此可以彼此區別。此函式稱為 main,因為這是您執行程式時呼叫的第一個或主要的函式。每項 Kotlin 程式都需要名為 main 的函式。
fun main()
  • 函式名稱後面一律加上兩個括號 ()
  • 您可以在括號中加入與該函式搭配使用的資訊。函式的輸入內容稱為「引數」,或簡短表示為 args。稍後,您將進一步瞭解引數。
fun main() {}
  • 請注意括號後方的大括號 {}。函式內部是用於完成工作的程式碼。這些大括號括住了多行程式碼。

檢查大括號之間的程式碼:

println("Happy Birthday!")

這行程式碼會列印 Happy Birthday! 文字。

  • println 會指示系統列印一行文字。
  • 您可在括號內放置要列印的文字。
  • 請注意,要列印的文字會以引號括住。這會指示系統準確列印引號內的所有內容。

如要實際列印文字,整個 println 指示都必須位於 main 函式中。

這就是最小的 Kotlin 程式。

fun main() {
    println("Happy Birthday!")
}

4. 擴充程式

做得好!您使用 println() function 列印了一行文字。不過,您可視需要在函式中放入任意數量的指示,以完成工作。

  1. 請複製這行 println("Happy Birthday!") 並貼到下方兩次。請確定您貼上的行位於 main 函式的大括號中。
  2. 將要列印的文字之一變更為某人的名字,例如「Jhansi」。
  3. 將要列印的其他文字變更為「You are 25!」。

程式碼應會如下所示。

fun main() {
    println("Happy Birthday!")
    println("Jhansi")
    println("You are 25!")
}

這個程式碼執行時,您希望它能產生什麼效果?

  1. 執行程式以瞭解其功能。
  2. 前往輸出窗格,主控台視窗中會顯示 3 行列印的文字,如下圖所示。
Happy Birthday!
Jhansi
You are 25!

做得好!

處理錯誤

在程式設計期間出錯是很正常的,很多工具都會提供意見回饋,協助您修正錯誤。在這個步驟中,建立一項錯誤來瞭解具體情況。

  1. 在程式中,移除 Jhansi 文字兩邊的引號,讓行看起來如下所示。
println(Jhansi)
  1. 執行程式。您會看到列印的 Jhansi 以紅色顯示,並且您變更的那行程式碼旁邊有一個驚歎號,以顯示何處出現了錯誤。8f2f490d4e1d9d96.png
  2. 查看輸出窗格。系統會顯示含有相同驚嘆號圖示和 Error 字詞的訊息。接著便是對您程式碼中錯誤的說明。

cd65347bcb6890d6.png

  1. 這則訊息 Unresolved reference: Jhansi 可讓您瞭解系統認為程式碼發生錯誤的原因。即使您不知道錯誤訊息的含義,或許也能找出問題所在。在這個案例中,您瞭解了 println() 指示會列印文字。您之前瞭解到文字必須位於引號之間。如果文字未加上引號,就會發生錯誤。
  2. 請重新加上引號。
  3. 請執行您的程式,確保能正常運作。

恭喜!您已經執行並變更了第一個 Kotlin 程式!

5. 解決方案程式碼

以下是您在本程式碼研究室中使用的完整程式程式碼。

fun main() {
    println("Happy Birthday!")
    println("Jhansi")
    println("You are 25!")
}

6. 摘要

  • https://developer.android.com/training/kotlinplayground 是一個互動式網頁程式碼編輯器,您可用於練習編寫 Kotlin 程式。
  • 所有 Kotlin 程式都需要有 main() 函式:fun main() {}
  • 請使用 println() 函式列印一行文字。
  • 將您要列印的文字置於雙引號之間。例如 "Hello"
  • 重複 println() 指示以列印多行文字。
  • 在程式中,錯誤會標示為紅色。輸出窗格中會顯示錯誤訊息,可協助您找出錯誤發生的位置及可能原因。

7. 瞭解詳情

8. 自行練習

進行下列操作:

  1. println() 指示變更為 print()
  2. 執行程式。發生了什麼?

提示:print() 指示只會列印文字,而不會在每個字串結尾加上換行符號。

  1. 請修正文字,使訊息的各個部分分行正確。

提示:在文字中加入 \n 即可新增換行符號。例如 "line \n break"。加入換行符號會變更輸出內容,如下所示。

提示:不輸入文字即可列印空白行:println("")

程式碼:

fun main() {
    println("no line break")
    println("")
    println("with line \n break")
}

輸出內容:

no line break

with line
 break

檢查操作:

以下為可能的解決方法:

fun main() {
    print("Happy Birthday!\n")
    print("Jhansi\n")
    print("You are 25!")
}