在本程式碼研究室中,您將使用可在瀏覽器執行的互動式編輯器,以 Kotlin 語言編寫第一個程式。
將「程式」[LINK] 想成一系列的指示,可讓系統執行某些動作。舉例來說,您可以編寫程式製作生日卡,並在該程式中編寫指示來顯示祝賀文字,或根據某人的出生年份計算年齡。
就像使用人類語言與他人溝通交流一樣,您也可以利用程式設計語言與電腦作業系統溝通交流。更棒的一點是,程式設計語言沒有人類語言那麼複雜,而且更具邏輯性!
Android 應用程式以 Kotlin 程式設計語言編寫而成。Kotlin 是一種現代化語言,可協助開發人員有效地編寫程式碼,盡量減少錯誤。
同時學習建立應用程式的方法和程式設計的基本知識並不容易,因此我們會先概略説明程式設計,再講解如何建構應用程式。先熟悉某些程式設計基本知識,不僅是建立應用程式的重要步驟,也會使未來在本課程中建立第一個應用程式更加輕鬆。
「程式碼編輯器」這項工具可協助您撰寫程式碼,就像文字處理器 (例如 Google 文件) 協助您建立文字文件一樣。在本程式碼研究室中,您要在瀏覽器中使用互動式 Kotlin 編輯器。也就是說,您不必安裝任何軟體,即可開始開發應用程式。
必要條件
- 在網路瀏覽器中使用互動式網站。
課程內容
- 如何建立、變更、瞭解並執行用於顯示訊息的精簡 Kotlin 程式。
建構項目
- 以 Kotlin 程式設計語言編寫的程式,執行時會顯示訊息。
需求條件
- 安裝了新式網路瀏覽器的電腦,例如最新版 Chrome。
- 可以連上網際網路的電腦。
在這項工作中,您要使用網站上的編輯器,立即開始以 Kotlin 語言進行程式設計。
使用互動式程式碼編輯器
您可以使用網頁式工具來建立第一項程式,而不必在電腦上安裝軟體。
- 在瀏覽器中開啟 https://try.kotlinlang.org/。系統會開啟使用瀏覽器的程式設計工具。
- 您應該會看到類似於以下螢幕截圖的頁面,左側是檔案清單,右側是編輯器。右下角也可能會顯示黑色方塊,內含 Cookie 政策資訊。
警告:如不同意這個網站的 Cookie 政策,請勿繼續操作。
- 按一下黑色彈出式方塊左上角的「X」X,即可關閉方塊。
- 請參考下方附有註解的螢幕截圖,熟悉這個編輯器。
- (1) 頂端的「學習」、「社群」和「線上試用」分頁標籤。如果尚未選取「Try online」(線上試用) 分頁標籤,請予以選取。
- (2) 最左側窗格中的「檔案總管」。清單中的每個資料夾都包含一個小型獨立範例,可供學習 Kotlin。
- (3) 右側窗格中的編輯器 是您編寫程式碼的主要工作區。
這個網頁版程式碼編輯器還有許多其他功能,但這些是您入門時需要瞭解的功能。
開啟程式碼範例
- 在檔案總管中,選取「Examples」>「Hello, world!」(如果尚未選取)。> 最簡單的版本 > SimplestVersion.kt (下圖中的 1)。
- 在 SimplestVersion.kt 檔案名稱中,請注意 .kt 副檔名 (請參閱下方螢幕截圖中的 1)。就像圖片有
.jpg
或.png
副檔名,PDF 有.pdf
副檔名一樣,所有 Kotlin 檔案都必須有.kt
副檔名。 - 請注意編輯器中的程式碼 (下圖中的 2)。部分程式碼會醒目顯示。您將使用這段程式碼。
以下是編輯器中醒目顯示的程式碼:
fun main(args: Array<String>) {
println("Hello, world!")
}
執行程式碼
執行您建立的程式,與在電腦上執行文字處理器等程式大同小異。不同之處在於,執行程式以完成工作或玩遊戲時,您主要關心程式可以為您做什麼,而不是使其運作的程式碼。編寫程式時,您會親眼看見並著手參與實現魔法的程式碼。
我們來看看這項程式的用途!
- 在編輯器的右上角,找到綠色三角形
,按一下即可執行程式。
- 如有需要,請向下捲動頁面,直到看到編輯器底部,即可看到底部的窗格 (下圖中的 1)。
- 按一下「控制台」分頁標籤。程式可將文字輸出內容列印到控制台。
- 請注意「Console」(主控台) 窗格中顯示的
Hello, world!
,如上圖所示。現在,您已經瞭解這項程式的用途:這項程式可顯示或輸出一則 Hello World 訊息到控制台視窗。 - 請注意,列印的
Hello, world!
上方是訊息Compilation complete successfully
。「編譯」程序會將 Kotlin 程式碼轉換為系統可執行的形式。如果成功完成編譯,表示程式中沒有會導致程式無法執行的錯誤。
節目片段
您已瞭解這項程式的用途,接下來請先看看程式的運作方式。
- 查看編輯器中的程式。
- 請注意,這組程式碼有兩個不同的區段。
程式頂端:
/**
* We declare a package-level function main which returns Unit and takes
* an Array of strings as a parameter. Note that semicolons are optional.
*/
在上方程式碼片段中,您可以看到這些符號內的文字:/*
和 */.
這表示該行是註解,也就是提供給其他開發人員的資訊訊息。執行程式時,系統會忽略這則註解。目前也可以忽略這則留言!您將在後續的程式碼研究室中進一步瞭解註解。
計畫的下半部分:
fun main(args: Array<String>) {
println("Hello, world!")
}
這三行程式碼是實際執行的程式,會列印訊息。
變更 Hello World 程式碼
現在要稍微變更程式的用途。
- 將
"Hello, world!"
文字變更為"Happy Birthday!"
。 - 按一下右上角的綠色執行按鈕
,即可執行程式。
- 在「Console」中,您現在應該會看到
Happy Birthday!
列印的內容,如下方螢幕截圖所示。
How does it work?
這是怎麼完成的?光是要顯示這一點字就已經要好多程式碼!
假設您想讓朋友在一張紙上寫下「Hello, world!」,以言語表達時會隱含很多資訊。如果您只是告訴他們「在這張紙上寫下 Hello world!」,他們會猜想您說這句話背後的意思。比方說,他們會假設自己需要使用筆,並且您希望他們用字母書寫!電腦無法進行這些假設,因此您需要提供每個步驟的確切說明。
就像英文有結構一樣,程式設計語言也是如此。如果您學過其他語言,就會知道要掌握文法、拼寫 (也許會接觸到新的符號字母表) 和字彙並不容易。學習程式也存在類似的挑戰,但幸運的是,它沒有學習英文等語言那樣複雜,也更具邏輯性。
瞭解程式的各個部分
現在,我們來看看程式碼。此程式的每個部分都是一個特定目的,而您需要瞭解所有部分,才能執行這個程式。我們先從第一個字詞開始。
fun
fun
是 Kotlin 程式設計語言中的字詞。fun
代表函式。函式是程式中用於執行特定工作的一部分。
fun main
main
是這個函式的名稱。函式具有名稱,因此可以彼此區別。此函式稱為main
,因為這是您執行程式時呼叫的第一個函式或主要函式。每項 Kotlin 程式都需要名為main
的函式。
fun main()
- 函式名稱後面一律加上兩個括號
()
。
fun main(args: Array<String>)
- 您可以在括號中加入與該函式搭配使用的資訊。函式的輸入內容稱為「引數」,或簡短表示為
args
。稍後,您將進一步瞭解引數。您只需要知道main
函式一律會使用這個引數。
fun main(args: Array<String>) {}
- 請注意引數後方的大括號。函式內部是用於完成工作的程式碼。這些大括號括住了多行程式碼。
檢查大括號之間的程式碼:
println("Happy Birthday!")
這行程式碼會顯示 Happy Birthday!
文字。
println
會指示系統顯示一行文字。- 您可在括號內放置要顯示的文字。
- 請注意,要顯示的文字會以引號括住。這會指示系統準確顯示引號內的所有內容。
如要實際顯示文字,整個 println
指示都必須位於 main
函式中。
這就是最小的 Kotlin 程式。
fun main(args: Array<String>) {
println("Happy Birthday!")
}
顯示多則訊息
做得好!您使用 println() function
顯示了一行文字。不過,您可以視需要在函式中加入不限行數的指示,以利完成工作。
- 請複製這行
println("Happy Birthday!")
並貼到下方兩次。請確定您貼上的行位於main
函式的大括號中。 - 將要顯示的文字之一變更為某人的名字,例如「Jhansi」。
- 將要顯示的其他文字變更為「You are 25!」。
程式碼應如下所示。
fun main(args: Array<String>) {
println("Happy Birthday!")
println("Jhansi")
println("You are 25!")
}
這個程式碼執行時,您希望它能產生什麼效果?
- 執行程式以瞭解其功能。
- 前往「Console」視窗,控制台視窗中會顯示 3 行顯示的文字,如下圖所示。
做得好!
處理錯誤
在程式設計期間出錯是很正常的,很多工具都會提供意見回饋,協助您修正錯誤。在這個步驟中,建立一項錯誤來瞭解具體情況。
- 在程式中,移除
Jhansi
文字兩邊的引號,讓該行程式碼如下所示。
println(Jhansi)
- 執行程式。您會看到顯示的
Jhansi
以紅色顯示,並且程式碼第 8 行旁邊有一個驚歎號,以顯示何處出現了錯誤。
- 向下捲動即可查看控制台。
- 選取「問題檢視」分頁標籤 (如果尚未選取)。
- 查看「問題檢視畫面」分頁。系統會顯示含有相同驚嘆號圖示和「
Error
」字詞的訊息。接著說明程式碼中的錯誤。
- 尋找數字
(8, 12).
。這些數字表示發生錯誤的程式碼行 (第 8 行),以及該行中錯誤開始的字母位置 (12
)。 - 接著,您會看到「
Unresolved reference: Jhansi
」訊息。這則訊息可讓您瞭解系統認為程式碼發生錯誤的原因。即使不知道錯誤訊息的含義,或許也能找出問題所在。在這個案例中,您瞭解了println()
指示會顯示文字。此外,之前也學到文字必須位於引號之間。如果文字未加上引號,就會發生錯誤。 - 請重新加上引號。
- 請執行您的程式,確保能正常運作。
恭喜!您已經執行並變更了第一個 Kotlin 程式!
以下是您在本程式碼研究室中使用的完整程式碼。
- https://try.kotlinlang.org/ 是互動式的網頁程式碼編輯器,可用於練習編寫 Kotlin 程式。
- 所有 Kotlin 程式都需要有
main()
函式:fun main(args: Array<String>) {}
- 使用
println()
函式顯示一行文字。 - 將要顯示的文字置於雙引號之間。例如
"Hello"
。 - 重複
println()
指示以顯示多行文字。 - 在程式中,錯誤會標示為紅色。「問題檢視畫面」分頁中會顯示錯誤訊息,可協助您找出錯誤發生的位置及可能原因。
這個程式碼研究室是 Android Kotlin 基本概念課程的一部分。
請練習下列項目:
- 將
println()
指示變更為print()
。 - 執行程式。會發生什麼情況?
提示:print()
指示只會顯示文字,不會在每個字串結尾加上換行符號。
- 請修正文字,使訊息的各個部分分行正確。
提示:在文字中加入 \n
即可新增換行符號。例如 "line \n break"
。加入換行符號會變更輸出內容,如下所示。
提示:不輸入文字即可顯示空白行:println("")
。
程式碼:
fun main(args: Array<String>) {
println("no line break")
println("")
println("with line \n break")
}
輸出內容:
檢查操作:
以下為可能的解決方法:
fun main(args: Array<String>) {
print("Happy Birthday!\n")
print("Jhansi\n")
print("You are 25!")
}