什麽是Kotlin,在哪裏使用?
Kotlin是一種跨平台、靜態類型的通用編程語言。這裏簡單介紹下這三個特點。
跨平台:這意味著係統或產品可以跨多個平台或操作係統環境工作。例如,Microsoft Excel,Word,Powerpoint可在Windows和Macintosh操作係統上使用。
靜態類型:靜態類型意味著必須在程序中明確聲明使用的變量及其類型(數據類型)。例如,C,Java,Kotlin等等都是靜態類型的。參考以下用於靜態類型編程的C編程代碼。
// C programming code
# include
void main()
{
int num; // Explicitly declaring the type of the variable
num = 10;
print(num);
}
靜態類型的相反是動態類型,在這裏您不必顯式指定數據的類型。最好的動態類型化編程語言之一是python。參考下麵的以下python代碼:
# Python Code
num = 10 # No explicit declaration
print(num)
通用編程:顧名思義,它廣泛適用於所有領域。例如,Java,Python,C,C++等都是通用編程語言。
現在您已經了解了Kotlin的定義,下一步是在哪裏使用它? Kotlin用於Android開發,以創建android應用程序。以前,Java用於創建Android應用程序,但從幾年前開始,Kotlin慢慢取代了Java在Android開發中的位置。
如上所示,Kotlin在2019年已占據絕對主導地位,現在幾乎所有的android應用都是使用Kotlin構建的。
讓我們開始編碼
我們用IntelliJ IDEA編寫代碼。 IntelliJ IDEA是用於開發計算機軟件的Java集成開發環境。它是由JetBrains公司開發的。
為了下載IntelliJ請點擊這裏。下載與筆記本電腦兼容的任何版本,然後開始使用。
下麵列出的是Kotlin入門所需的一些主要概念。
1)Main函數
與其他編程語言一樣,在Kotlin中,必須要有Main函數。那是編譯器開始編譯程序的地方。在Kotlin中,Main函數可以編寫如下:
fun main() {
println("Hello Kotlin") //Printing "Hello Kotlin"
}
我在Main函數中包含了一條打印語句,以使其更易於理解。在執行Main函數時,我得到了“Hello Kotlin”作為輸出。
2)變量聲明
在Kotlin中,可以使用兩個關鍵字聲明變量,即val和var。
val: It is used for variables whose value never changes.
var: It is used for variable whose value can change.
對於值val類型,您不能重新賦值,而對於var類型您可以重新賦值。
在Kotlin中聲明變量的語法是:
keyword variable_name: data_type = value
a)下麵是用於關鍵字val聲明的代碼片段:
val number: Int = 10
fun main() {
println(number) // 10
}
當我嘗試給val變量重新賦值時,我會收到一條錯誤消息,指示無法重新分配變量值,因為我使用了val關鍵字。
val number: Int = 10
fun main() {
number = 20
println(number) // Error
}
b)以下是關鍵字var聲明的代碼片段:
var number: Int = 10
fun main() {
println(number) // 10
}
當我嘗試給var變量重賦值時,這次不會出錯,因為可以對var關鍵字聲明的變量重新分配變量值。
var number: Int = 10
fun main() {
number = 20
println(number) //20
}
同樣,您可以聲明Strings、Boolean、Float和更多數據類型。
通常,var被稱為讀寫引用,而val被稱為隻讀引用。我們將無法為val重新分配值,但可以修改屬性。
fun main() {
val list = mutableListOf("a", "b", "c", "d")
println(list)
list = mutableListOf("d", "e)" // Error
list.remove("a")
println(list)
}
類型推斷
類型推斷是指在編譯期間自動檢測變量的數據類型。在Kotlin中,類型是在變量名之後定義的:
var title: String
例如,如果為變量分配類型,則不能通過為同一變量重新分配其他類型來執行此操作,這將導致錯誤:
fun main() {
var name: String = "Tanu"
name= 12
println(name) // Error
}
但是,使用關鍵字“Any”您可以將Int分配給String或將String分配Int,如下所示:
fun main() {
var name: Any = "Tanu"
name = 12
println(name) //12
}
3)Null安全
Kotlin變量默認情況下無法保存null變量,因此,要保存null變量,您必須使用如下所示的其他語法,您要做的就是在變量聲明的前麵添加“?”。
var number: Int? = null
fun main() {
println(number) // null
}
如果不這樣做,您會收到一條錯誤消息:“空值不能是非空類型int的值”(“Null can not be a value of non-null type int”)。
4)條件語句
像許多編程語言一樣,Kotlin也有幾種條件語句機製。最常見的條件語句是if-else語句。如果條件為true,則執行if部分;如果條件為false,則執行else部分。
var num: Int = 10
fun main() {
if(num == 10)
{
num = num + 10
println(num) //20
}
else
{
num = 10
println(num)
}
}
您也可以同時使用多個if-else和else語句,如下所示:
var num: Int = 30
fun main() {
if(num == 10)
{
num = num + 10
println(num)
}
else if (num >= 10)
{
num = num + 20
println(num) //50
}
else if(num >= 20)
{
num = num + 30
println(num)
}
else
{
print(num)
}
}
在Kotlin中,您還可以使用when表達式替換多個if-else,如下所示:
val number: Int = 100
val answer = when {
number == 42 -> "Best"
number > 35 -> "Good"
else -> "Worst"
}
fun main() {
println(answer) //Good
}
5)函數
函數是用於執行單個任務的有組織且可重用的代碼塊。在Kotlin中,要創建函數,您必須使用fun關鍵字,接著定義該函數輸入的數據類型,最後必須返回該函數的輸出。該函數的語法如下所示:
fun function_name(): data_type{
statement 1
statement 2
-
-
-
statement n
return function_name
}
語句1、2和n隻是可執行語句,或者也稱為函數的主體,必須將其放置在函數中。考慮一個例子:
fun add_two_numbers(): Int{
val num1: Int = 10
val num2: Int = 20
val num3: Int = num1 + num2
return num3
}
fun main() {
println(add_two_numbers())
}
以兩個參數為輸入的函數
在這種情況下,您要做的就是將兩個參數傳遞給函數,然後聲明它們的類型,然後可以通過將值作為輸入傳遞來調用函數:
fun add_two_numbers(num1: Int, num2: Int ): Int{
val num3: Int = num1 + num2
return num3
}
fun main() {
println(add_two_numbers(10, 20)) // 30
}
6)類及其屬性
在Kotlin中,為了聲明一個類,您需要使用關鍵字class然後才是它的屬性。該類的語法及其屬性如下所示:
class class_name{
properties of a class
}
類使用屬性表示狀態。屬性是類級別的變量,可以包含getter,setter和backing字段。對象是類的實例,借助於對象,我們可以訪問類的變量。例如:
class dog {
var name: String = "Danny"
var breed: String = "Boxer"
var color: String = "White"
}
fun main() {
var d = dog()
println(d.name) //Danny
println(d.breed) //Boxer
println(d.color) //White
}
7)從用戶那裏獲得輸入
為了獲得用戶的輸入,Kotlin提供了一種特殊的方法,稱為readline,他用於按行讀取用戶輸入。例如:
fun main() {
var name: String? = null
println("Enter your name")
name = readLine()
println("Your name is: $name") // Tanu Nanda Prabhu
}
以上是您學習Kotlin編程需要了解的一些重要概念。但是,這並不是Kotlin學習的結束,而僅僅是開始。有關Kotlin的更多詳細信息,建議您通過官方Kotlin文檔嘗試進一步了解。