濰坊網(wǎng)站建設(shè)價格/一個好的產(chǎn)品怎么推廣
Kotlin入門1. 語法基礎(chǔ)
- 一、簡介
- 二、在Idea創(chuàng)建一個示例項目
- 三、基本語法
- 1. 第一個程序
- 2. 基本數(shù)據(jù)類型
- (1) 數(shù)字
- (2) 類型轉(zhuǎn)換
- (3) 數(shù)學(xué)運算
- 位運算
- (4)可空類型
- 3. 函數(shù)
- 4. 字符串
- (1) 字符串拼接
- (2) 字符串查找
- (3) 字符串替換
- (4) 字符串分割
- 5. null 安全的變量
一、簡介
Kotlin是一種靜態(tài)編程語言,由JetBrains開發(fā)。它被設(shè)計為與Java兼容,并且可以在Java平臺上運行。Kotlin支持現(xiàn)代編程語言的許多特性,如函數(shù)式編程、對象導(dǎo)向編程和元編程。這使得Kotlin能夠方便地與Java代碼混編,并且可以在沒有JVM(Java虛擬機(jī))的設(shè)備上運行。
Kotlin可以編譯成Java字節(jié)碼,因此可以在Java虛擬機(jī)上運行。此外,Kotlin也可以編譯成JavaScript,使得它可以在瀏覽器中運行。這使得Kotlin成為一個適用于各種平臺的多平臺語言。
Kotlin的主要特點包括:
- 兼容Java:Kotlin可以與Java代碼和庫無縫交互,這使得它易于在現(xiàn)有Java項目中使用。
- 空值安全:Kotlin對空值進(jìn)行了嚴(yán)格的檢查,這減少了NullPointerException等常見錯誤。
- 函數(shù)式編程:Kotlin支持函數(shù)式編程,這使得它可以輕松地處理集合和數(shù)組。
- 簡潔的語法:Kotlin的語法比Java更簡潔,這使得編寫和理解代碼變得更加容易。
- 與Java虛擬機(jī)(JVM)的兼容性:Kotlin編寫的代碼可以在Java虛擬機(jī)(JVM)上運行,這使得Kotlin成為一個適用于構(gòu)建跨平臺應(yīng)用程序的強(qiáng)大工具。
Kotlin已正式成為Android官方支持開發(fā)語言,這使得它成為開發(fā)Android應(yīng)用的一個越來越受歡迎的選擇。
本學(xué)習(xí)系列使用開發(fā)工具為:
- windows 11
- Idea
二、在Idea創(chuàng)建一個示例項目
創(chuàng)建好的項目帶一個示例程序:
三、基本語法
1. 第一個程序
- Kotlin文件擴(kuò)展名為.kt;
- Kotlin 程序運行的起點為 main 函數(shù);
寫一個簡單的.kt程序:
fun main(args: Array<String>) {println("Hello World!")
}
點擊運行按鈕運行程序。
要點:
- kotlin 語句不需要用;結(jié)束
2. 基本數(shù)據(jù)類型
(1) 數(shù)字
定義數(shù)據(jù)類型的語法:
val i: Int = 100
Kotlin內(nèi)置的數(shù)字類型:
- Double 64位
- Float 32位
- Long 64位
- Int 32位
- Short 16位
- Byte 8位
Kotlin默認(rèn)的小數(shù)類型為Double類型。
Kotlin支持 _ 分割數(shù)字,如 1_0000。
(2) 類型轉(zhuǎn)換
- 轉(zhuǎn)換為字節(jié)型 : 10.toByte()
- 轉(zhuǎn)換為短整型: (12.34).toShort()
- 轉(zhuǎn)換為整型: (12.34).toInt()
- 轉(zhuǎn)換為長整型:(1234.56).toLong()
- 轉(zhuǎn)換為單精度小數(shù):123.toFloat()
- 轉(zhuǎn)換為雙精小數(shù): 123.toDouble()
- 轉(zhuǎn)換為字符:123.toChar()
(3) 數(shù)學(xué)運算
- 常見運算: + - * /
位運算
- shl 帶符號左移;shr()
- shr 帶符號右移
- ushr:無符號右移
- and(bits): 與 &
- or(bits) : 或 ||
- xor(bits): 異或
- inv() : 取反
(4)可空類型
如String? , Int、
3. 函數(shù)
函數(shù)是可重用的代碼塊,可以執(zhí)行一個特定的任務(wù),并且可以帶有參數(shù)和返回值。在Kotlin中,函數(shù)的基本結(jié)構(gòu)如下:
fun functionName(parameters): returnType { // function body // perform some action return someValue
}
其中:
- fun 是關(guān)鍵字,用于聲明這是一個函數(shù)。
- functionName 是你給函數(shù)起的名字。
- parameters 是傳遞給函數(shù)的參數(shù),可以有零個或多個。參數(shù)之間用逗號分隔。
- returnType 是函數(shù)返回的數(shù)據(jù)類型。如果函數(shù)不返回任何值,則使用 Unit。
- function body 是函數(shù)的具體實現(xiàn),這里可以執(zhí)行需要的任務(wù)。
- return someValue 是函數(shù)執(zhí)行完畢后返回的值。如果函數(shù)沒有返回值,則不需要這個語句。
下面是一個具體的盒子:
fun add(a: Int, b: Int): Int { return a + b
}
這個函數(shù)名為 add,它接受兩個整數(shù)參數(shù) a 和 b,并返回它們的和。調(diào)用的方法如下:
val result = add(3, 4)
println(result) // Prints: 7
這個函數(shù)通過加法運算實現(xiàn)了它的任務(wù),并返回結(jié)果。
4. 字符串
Kotlin字符串是一個字符序列,可以使用雙引號(" ")括起來的字符序列來表示。例如:
val str = "Hello, World!"
在Kotlin中,字符串還支持許多操作,如拼接、查找、替換、分割等。下面是一些常用的字符串操作示例:
(1) 字符串拼接
在Kotlin中,可以使用加號(+)操作符來拼接字符串。例如:
val str1 = "Hello"
val str2 = "World"
val result = str1 + str2 // 拼接字符串
println(result) // 輸出:HelloWorld
(2) 字符串查找
在Kotlin中,可以使用contains()方法來檢查一個字符串是否包含另一個字符串。例如:
val str = "Hello, World!"
val searchStr = "World"
if (str.contains(searchStr)) { println("The string contains \"$searchStr\"")
} else { println("The string does not contain \"$searchStr\"")
}
輸出:
The string contains "World"
(3) 字符串替換
在Kotlin中,可以使用replace()方法來替換字符串中的某個或某些字符。例如:
val str = "Hello, World!"
val newStr = str.replace("World", "Kotlin")
println(newStr) // 輸出:Hello, Kotlin!
(4) 字符串分割
在Kotlin中,可以使用split()方法將字符串按照指定的分隔符分割成字符串?dāng)?shù)組。例如:
val str = "apple,banana,orange"
val arr = str.split(",") // 以逗號為分隔符,將字符串分割成字符串?dāng)?shù)組
for (item in arr) { println(item) // 輸出:apple、banana、orange
}
5. null 安全的變量
null是一個特殊的關(guān)鍵字,表示空值。在某些情況下,如果一個變量的值為null,可能會導(dǎo)致程序出現(xiàn)異常或錯誤。因此,確保變量的值不為null是非常重要的。在Kotlin中,null安全是一種保障,用于確保程序中不會出現(xiàn)null值。
Kotlin是一種靜態(tài)類型語言,編譯器在編譯時會檢查代碼中可能存在的類型錯誤同,其中之一就是null安全。Kotlin通過類型推斷和注解來確保變量的值不為null。
在Kotlin中,可以使用null關(guān)鍵字來表示空值。
為了避免出現(xiàn)空指針異常,Kotlin提供了一些機(jī)制來確保null安全。
- 首先,Kotlin具有空值安全類型。例如:
var str: String? = null
在這個例子中,String?表示該變量可能為null。如果嘗試在代碼中調(diào)用str.length(),編譯器會發(fā)出警告,因為這可能會導(dǎo)致空指針異常。
為了解決這個問題,可以使用非空判斷(non-null assertion)。例如:
if (str != null) { println(str.length())
} else { println("String is null")
}
在這個例子中,如果str不為null,則可以調(diào)用str.length()。否則,將輸出"String is null"。
另外,Kotlin還提供了一些其他機(jī)制來確保null安全。例如:
- Elvis運算符(?:):如果左邊的表達(dá)式為null,則返回右邊的表達(dá)式。例如:str?.length() ?: 0表示如果str不為null,則返回str的長度,否則返回0。
- Optional類型:在Java中,可以使用Optional類型來避免返回null值。在Kotlin中也可以使用類似的類型來確保null安全。例如:fun findName(): Optional<String?>? { … }表示該函數(shù)返回一個可能為null的Optional類型的變量。
- 使用Java的注解:在Java中,可以使用@NonNull和@Nullable注解來標(biāo)記方法的參數(shù)或返回值是否可以為null。在Kotlin中也可以使用這些注解來確保null安全。