歡迎大家加入我的Kotlin語言學習,因爲本人從事Android所以本次學習Kotlin不涉及Android以外。
如果你是第一學習編程語言請先看這裏,所以我省略一些太基礎的知識和環境等基本操作(做過開發都會)
我會寫一篇聲明博客,爲了不浪費你的時間,因爲涉及到版權的問題,我會在這寫上我參考的資料,拒絕抄襲!!!
我將快速而全面的講我們的Kotlin,下面快速吧!
一、標識符和關鍵字
標識符就是大家給函數(方法)、屬性(變量和常量)、類、接口取的名字。
關鍵字又稱保留字,就是系統已經定義好的標識符。目的就是告訴開發人員,不能使用關鍵字爲標識符。
標識符的規則:
- 不能使用$或者直接使用硬關鍵字
- 區分大小寫
- 首字符,可以是下劃線和字母、不能使用數字(大部分語言都是)
- 建議不要使用field和it做爲標識符
關鍵字
Kotlin的關鍵字都是小寫(和Java一樣)
硬關鍵字:無法直接做爲標識符,除非使用``。不建議
軟關鍵字:可以做標識符,不建議
修飾符關鍵字:可以做標識符,不建議
怎麼使用關鍵字作爲標識符呢?
var class="111" // 錯誤
var `class`=11 //正確
二、常量和變量
常量
不能改變的量,一旦賦值就無法再次賦值的量,和變量相反。
運行期常量
聲明一個運行期常量:
val wang="王"
它是在運行時才賦值的常量,就是說你可以在運行時前再給它賦值(初學不必太糾結,知道val是常量就行)
頂級常量
聲明一個頂級常量:
val wang="王"
class Demo {
}
頂級變量可以在別的處使用看栗子1,它屬於這個.kt文件(這裏你就要了解Kotlin的導包和java有些不同,看栗子2)
栗子1
val w="1"
class Demo {
val wang ="王"
fun a(){
println(w)
println(wang)
}
}
class Demo2{
fun a(){
println(w)
// println(wang) //編譯不通過
}
}
栗子2
1.stringone是一個常量
2.我在這裏使用stringone,不屬於一個包,而且stringone是一個變量
3.包的位置不同
編譯期常量
就是在,編譯期時就賦值的常量
聲明一個編譯期常量:
const val wang="王"
class Demo {
}
注意點:
- 位於頂層或者是 object 聲明 或 companion object 的一個成員
- 以
String
或原生類型值初始化(就是隻能是String和基本數據類型) - 沒有自定義 getter
變量
變量就是就是一個可以變的量,它可以多次賦值。
變量讓你能夠把程序中準備使用的每一段數據都賦給一個簡短、易於記憶的名字
聲明一個變量
var wang ="王"
fun `var` (){ //var是關鍵字哦,沒有看懂的請仔細看標識符講的
wang ="別的王"
}
所以變量可以再次賦值,就不展開說了,具體和常量相似,也有頂層變量等
自動類型推斷
在Java中聲明一個常量需要這樣
final String wang="王";
你需要告訴它是String類型,Kotlin不需要
class Demo {
val wang="王" //編譯通過
// val wang //編譯通過錯誤
}
你可以看到,如果需要自動推斷類型,你必須給它賦值,要不然編譯器根本不知道是什麼類型。
語句和表達式
語句:一條指令,它沒有返回值
表達式:有返回值的代碼
舉栗子
var max = 1 + 2 //表達式
var min = false
while (min) { //語句
}
// var `while` =while (min) { //編譯失敗
//
// }
注意 Kotlin的 if語句它叫語句也有返回值
fun main(args: Array<String>) {
var `var` = false
var a = if (`var`) {
"王"
} else {
"不是王"
}
println(a)
}
Kotlin的語句結束
在java中語句是以;爲結束的,Kotlin也是。但是有不同之處,你好好看看
fun main(args: Array<String>) {
// 第一種寫法
var max = 1
var min = 2
// 第二種寫法
// var my=3 var you=4/ //編譯錯誤
// 第三種寫法
var my = 3; var you = 4
}
注意第二種是錯誤的,事實上;還是結束語句,但是大部分可以省略,不行你格式化代碼一下
第一章東西就不要太多了,接下到下一篇文章再講。
小技巧:Java中常量爲什麼定義爲public static final 其實Kotlin的編譯期常量纔像Java的中的常量