初識Kotlin(一)——進階日記(Kotlin vs Java)

2017年Google就將Kotlin語言作爲安卓開發的一級編程語言

作爲一名Android開發者今日才初識Kotlin,略顯慚愧....  /汗顏

      VS     

Kotlin是什麼呢?

Kotlin 是一個用於現代多平臺應用的靜態編程語言

Kotlin可以編譯成Java字節碼,也可以編譯成JavaScript,方便在沒有JVM的設備上運行。

 

Kotlin相比於Java 又有什麼優勢呢?

Kotlin比Java更安全,能夠靜態檢測常見的陷阱。如:引用空指針

Kotlin比Java更簡潔,通過支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等實現。

 

而且最主要的是 Kotlin實現了100% 和Java的兼容,所以日常完全可以滿足Kotlin和Java混合開發的需求,這也給如小編這樣的初學者以緩衝期。

不過相信通過系統的Kotlin學習,你也會喜歡上它優雅的語言特點。

 

一.Kotlin基礎語法篇

初窺Kotlin發現它與Js的語法比較像哈....

1. 常量和變量以及常用關係

var 變量
val 常量
Kotlin句末不需要打分號 
Kotlin的非null值判斷機制:

  1. Kotlin有兩種類型:一個是非空引用類型,一個是可空引用類型。
  2. 對於可空引用,如果希望調用它的成員變量或者成員函數,直接調用會出現編譯錯誤,有三種方法可以調用:
    a 在調用前,需要先檢查,因爲可能爲null
    b 使用b?.length的形式調用,如果b爲null,返回null,否則返回b.length
    c 使用b!!.length()的形式調用,如果b爲null,拋出空指針異常,否則返回b.length。
    val  result = if (b != null) b.length else -1
    b?.length
    val result = b!!.length

    關於 ? 和 !! 在日常中有很多地方應用,暫且不表!不過通過對 ? 的應用,幾乎可以避免 Java 中的 NullPointerException

2.方法和基本數據

Kotlin中用 fun 來定義方法:

//無參
fun 方法名(參數值:參數類型){
    方法體}

//有參數
fun 方法名(參數值:參數類型) : 返回值類型{
    方法體}

fun onCreate(savedInstanceState: Bundle?) {
    方法體}
fun add(x: Int, y: Int) : Int {
    return x + y}

3. 基本數據類型

相對於於Java中的8種基本類型,Kotlin中提供了6種基本數據類型來滿足日常開發需求。

Double  64
Float   32
Long    64
Int     32
Short   16
Byte     8

字符類型(單獨的一種類型) Char,eg :val i: Int = b 這樣寫是錯誤的,java中這樣寫是正確的;
布爾 Boolean
數組 Array
字符串 String 
Kotlin多加了一個支持三個引號的框起來的字符串,支持多行字符串

Kotlin目前可以支持數字下劃線,如 val a:Int=2_520

4.Kotlin中的控制語句

4.1 for語句

kotlin:

for (i in 0..9) {

}
//遍歷集合
var list = ArrayList<String>()
for (i in list.indices){
    var s = list[i]
}

Java:

for (int i = 0; i < 9; i++) {

}
//遍歷集合
List<String> list = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
    String s = list.get(i);
}

4.2 選擇語句

Kotlin:

var a = 0
var b = "模樣"
when(a){
    0 -> b = "哭"               //簡單的處理
    1 -> b = "笑"
    2 -> b = "皺眉"
    3 -> {                         //複雜的處理
        a ++
        b = "眨眼"
    }
}

Java:

int a = 0;
String b = "模樣";
switch(a){
    case 0:
        b ="哭";
    break;
    case 1:
        b ="笑";
    break;
    case 2:
        b ="皺眉";
    break;
    case 3: 
        a++;
        b ="眨眼";
    break;
}

4.3 While語句

Kotlin 中的 while 循環語句 和 Java 中的基本相同!

4.4 區間表達式

for (i in 1..4) print(i)  // 輸出“1234”  都是閉區間
也可以使用 遞增行數 until 範圍[n,m) 左臂右開區間
// 循環5次,步長爲1的遞增
  for (i in 0 until 5){     // for(i=0;i<5;i++)
    print("i => $i \t")
  }
對比以上2種,意思相同,區間不同

for (i in 4..1) print(i)  // 什麼都不輸出 相當於數學中的 >=4 且<=0
也可以使用downTo 範圍[ n,m]
for (i in 5 downTo 0){ // for(i=5;i<0;i--) 輸出   5 4 3 2 1 0
    print("$i")
}

步長關鍵字 step:

for (i in 10 until 16 step 2){ //  10 12 14 
    print(" $i") 
}

在文章的最後 親愛的同學 當你還在猶豫不決 不妨... : 谷歌大牛說:爲什麼 Kotlin 比你們用的那些垃圾語言都好

 

願你出走半生 歸來仍是少年 !!

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