Kotlin—基本語法(一)

歡迎大家加入我的Kotlin語言學習,因爲本人從事Android所以本次學習Kotlin不涉及Android以外。

如果你是第一學習編程語言請先看這裏,所以我省略一些太基礎的知識和環境等基本操作(做過開發都會)

我會寫一篇聲明博客,爲了不浪費你的時間,因爲涉及到版權的問題,我會在這寫上我參考的資料,拒絕抄襲!!!

我將快速而全面的講我們的Kotlin,下面快速吧!

一、標識符和關鍵字

標識符就是大家給函數(方法)、屬性(變量和常量)、類、接口取的名字。

關鍵字又稱保留字,就是系統已經定義好的標識符。目的就是告訴開發人員,不能使用關鍵字爲標識符。

標識符的規則:

  1. 不能使用$或者直接使用硬關鍵字
  2. 區分大小寫
  3. 首字符,可以是下劃線和字母、不能使用數字(大部分語言都是)
  4. 建議不要使用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的中的常量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章