昨天已經介紹過該如何安裝Android Studio了,現在就該踏出我們建構APP的第一步了吧,Android Studio啟動!!!......
本來應該是要這樣的啦,但我昨天去翻出我大學時寫的APP專題的程式碼出來看之後......
很好,當時的我到底在寫甚麼東西(全忘光了),雖然說Kotlin本身已經是個比較新的語言了,基本的邏輯和語法和近代的程式語言相似,並且也是一種物件導向程式設計(Object-oriented programming)的語言,基本上有C++、Python、Java等程式語言基礎的人應該不難上手,但還是藉這個機會來簡單介紹一下Kotlin的基礎概念和語法(主要是讓我復健用的)。
Kotlin的官方網站其實已經有提供了許多的學習資源了,我們點擊上方的Docs就能看到官方有提供了非常多的資源給我們觀看和學習
接下來我會簡單介紹Kotlin一些基礎的語法讓你可以快速的了解和入門,若是你想要熟悉這個語言還是建議去找個教學來看,或是官方文件裡有提到JetBrains Academy也有提供的免費Kotlin Core課程讓你學習所有Kotlin的基礎知識
程式的第一步Hello world!開始說起,我們來看看下面官方文件提供的範例
// 節錄自 Kotlin 官方教學程式碼
fun main() {
println("Hello world!")
}
在 Kotlin 中,fun
關鍵字用來定義一個函式。這是 Kotlin 語言的基本構造之一。函式通常會包含名稱、參數列表(如果有的話)以及一個函式體。以下是函式的基本結構:
fun 函式名稱(參數1: 類型, 參數2: 類型): 回傳類型 {
// 內容
return 回傳值
}
在 Kotlin 中,print
和 println
是用來輸出訊息到控制台的標準函式,若是有寫過Java或Arduino的人應該會覺得這個用法很眼熟。兩者的區別在於,print 只會輸出訊息,不會自動換行,而 println 則會在輸出訊息後自動換行。詳細的範例如下
// 節錄自 Kotlin 官方教學程式碼
print("Hello ")
print("world!")
輸出結果如下
Hello world!
而println 在輸出訊息後會自動換行
// 節錄自 Kotlin 官方教學程式碼
println("Hello world!")
println(42)
輸出結果如下
Hello world!
42
在 Kotlin 中,變數的宣告有兩種方式:使用 val
或 var
關鍵字。
val
用來宣告一個不可變的變數,這個變數只能被賦值一次。類似於其他語言中的「常數」或「final」變數。fun main() {
// 節錄自 Kotlin 官方教學程式碼
//sampleStart
// Declares the variable x and initializes it with the value of 5
val x: Int = 5
// 5
//sampleEnd
println(x)
}
輸出結果如下
5
val
宣告的函數沒辦法再被賦值,若是強行賦值第二次,編譯器會報錯'val' cannot be reassigned.
,若是該變數會在後續的程式中被賦予其他的值,則應用var
來宣告該變數。
var
用來宣告一個可變的變數,這個變數可以在程式執行期間被重新賦值。fun main() {
// 節錄自 Kotlin 官方教學程式碼
//sampleStart
// Declares the variable x and initializes it with the value of 5
var x: Int = 5
// Reassigns a new value of 6 to the variable x
x += 1
// 6
//sampleEnd
println(x)
}
輸出結果如下
6
同時Kotlin 支援類型推斷,當你宣告變數時,可以省略類型,Kotlin 會根據賦予的值自動推斷變數的類型。
範例如下
val name = "Alice" // Kotlin 自動推斷 name 的類型為 String
var age = 25 // Kotlin 自動推斷 age 的類型為 Int
var Pi= 3.14 // Kotlin 自動推斷 age 的類型為 double
println(name::class.simpleName)
println(age::class.simpleName)
println(Pi::class.simpleName)
在上面的程式碼我們宣告了三個變數,並使用了::class.simpleName
來取得變數的類型
輸出的結果如下
String
Int
Double
在 Kotlin 中,字串模板 (String templates) 是一種方便的方式,可以將變數或表達式嵌入到字串中,而不需要使用繁瑣的字串連接運算符。字串模板使用 $
符號來插入變數,並且可以使用 ${}
來插入更複雜的表達式。
$
符號。val name = "Alice"
val greeting = "Hello, $name!"
println(greeting)
輸出結果如下
Hello, Alice!
${}
val apples = 3
val oranges = 5
println("I have ${apples + oranges} fruits.")
輸出結果如下
I have 8 fruits.
還有許多字串模板的使用方式,我們這邊就先簡單帶過,如果之後有用到其他方法,我們在做說明。
在 Kotlin 中,if
條件判斷是用來根據條件執行不同程式碼的一種控制結構。if
表達式可以用於傳統的條件語句,也可以作為表達式返回值。以下是幾種常見的if
用法。
val age = 16
if (age >= 18) {
println("You are an adult.")
} else {
println("You are a minor.")
}
輸出結果如下
You are a minor.
val score = 85
if (score >= 90) {
println("Grade: A")
} else if (score >= 80) {
println("Grade: B")
} else if (score >= 70) {
println("Grade: C")
} else {
println("Grade: D")
}
輸出結果如下
Grade: B
val a = 10
val b = 20
val max = if (a > b) a else b
println("The max value is $max")
在這個例子中,if 表達式直接返回較大的值,並賦值給 max。
輸出結果如下
The max value is 20
除了上面這些用法你還可以將 if 語句嵌套在其他 if 中,使其可以根據多個條件進行更細緻的判斷。
在 Kotlin 中,for
迴圈主要用來遍歷集合(如陣列、列表、範圍等),並對集合中的每一個元素執行操作。for
迴圈的語法非常簡單且直觀。以下是常見的 for
迴圈用法。
for (i in 1..5) {
println(i)
}
輸出結果如下
1
2
3
4
5
for迴圈還可以根據遍歷集合不同,或是結合其他語法產生不同的檢索效果,同時你也可以將複數的for迴圈組合起來成為巢狀迴圈以處理多維結構,礙於長度問題這方面的內容我們下次有機會再講。
在 Kotlin 中,while
和 do-while
迴圈用來根據條件反覆執行某段程式碼。這些迴圈的執行條件是布林值,當條件為 true 時,迴圈會繼續執行,當條件為 false 時,迴圈終止。
while
迴圈在每次執行之前都會先檢查條件,只有當條件為 true 時才會進入迴圈執行程式碼。var i = 5
while (i > 0) {
println(i)
i--
}
輸出結果如下
5
4
3
2
1
do-while
迴圈的不同點在於,它會先執行一次程式碼,然後再檢查條件。因此,即使條件最初是 false,程式碼也會至少執行一次。var i = 0
do {
println(i)
i++
} while (i < 3)
輸出結果如下
0
1
2
如果 while
或 do-while
的條件永遠不會變為 false,迴圈將無限執行,這被稱為無窮迴圈,通常這種無窮迴圈通常需要使用 break
關鍵字來跳出。而continue
關鍵字和break
不同,continue
會跳過當前迴圈的剩餘程式,並進入下一次迴圈。
本來今天想把kotlin的語法一次講完,但官網的文件看著看著發現原來kotlin有那麼多我之前沒注意到的用法,礙於文章的長度(主要是我累了)剩下的內容我們明天再說吧。
如果你能看到這邊,那我在這邊祝大家中秋佳節快樂,吃烤肉都不會變胖,明天我再把when和集合等剩下的內容寫完,我們就能正式喊出Android Studio啟動!!!應該吧
參考來源
https://kotlinlang.org/docs/home.html