1. 程式人生 > >Kotlin快速上手

Kotlin快速上手

先來總結下Kotlin較與Java的幾點優勢:

  1. 100%相容Java
    即用Java寫的框架和類庫都可以直接使用,無縫相容

  2. 語法優化,省略分號,沒有get/set,自動型別推斷等等
    凡是有Java開發經驗的很多都明顯感覺到Java語法的囉嗦,而使用kotlin相較於原生Java至少可以減少30%的程式碼量

  3. 空指標異常自動檢測
    即編譯不通過,會有紅色波浪線的提示,無需執行

  4. 原始碼開源,良好的IDE支援(JetBrains親兒子),可將Java程式碼直接轉換成Kotlin程式碼

  5. 現已有少數用Kotlin開發的程式,完美執行,如:JetBrains賬號系統,花瓣app,Kotlin中文部落格https://blog.kotliner.cn/
    ,被廣泛的應用只是時間問題。

趕快來使用Kotlin吧,你還等什麼?

  • 宣告變數和常量
//常量陣列int[][][] arrs = new int[3][2][1];
val arrs = Array(3) { Array(2) { IntArray(1) } }
//空安全變數
var str: String = "hello"
var str1 = "word"
//可為空字串變數
var str2: String? = null
  • 建立物件
var artist = Artist(1, "Dylan", "http://www.cnblogs.com/tgyf/")
  • 建立函式
//關鍵字 方法名 引數(引數名:引數型別) 返回值型別(?表示可空)
fun getArtict(a: Int, b: Int): Artist? { return a+b }
  • 實體類的建構函式
constructor(name: String,age: Double?, auctionupset: Double?) {
        this.nname = name
        this.age=age
}
  • 物件欄位的賦值取值
val user = User()
//賦值
user.name = "tutu"
user.age = "23"
//取值
val name = user.name
val age = user.age
  • when的使用
when(obj){
        1->"1"  //是否等於1
        in 2..3->"2到3區間內"  //是否在2到3的範圍內
        is String->"字串型別"  //是否是String型別資料
        else->{
            println("預設情況,預設返回0")
            "0"
        }
  • 繼承和實現
//繼承,有()
class user : father() {
}
//實現,無()
class user : father{
}
  • 方法重寫
override fun test() {
        println("在實現類中重寫介面方法和重寫父類方法,再fun前加override")
}