簡約之美Kotlin(二)Kotlin入門基礎知識

前言

今天開始正式介紹Kotlin這門語言以及在Android中的應用。本篇將介紹Kotlin的入門基礎知識部分。

Android Studio中使用Kotlin 可參考文章:簡約之美Kotlin(一)Android Studio創建一個簡單的Kotlin應用


目錄

這裏寫圖片描述

1.基本類型

1-1.數據類型

先來看下Kotlin中是如何聲明一個基本類型變量的。

private var context: Context? = null

val a: Int = 10000
val b: String? = "我是字符串"

Kotlin中聲明變量很簡單,通過兩個關鍵詞 var(變量)val(常量),冒號後面是你要聲明變量的類型。Kotlin變量方面和Java有些區別,Java中有八大基本數據類型以及他們對應的包裝類型。Kotlin中數據類型都以”包裝類”(對象)的形式存在,可以直接調用類型的基本屬性和方法。

Kotlin中沒有Java中的數據隱式轉換(由低級向高級轉換)

Java中:

byte a = 1;
int b = a;
print(a == b)  <!--return true-->

Kotlin中:

val a: Int? = 1 
val b: Long? = a

print(a == b)  //return false

那麼在Koltlin中如何將數字從低類型向高類型轉換呢?用顯式轉換,每種數字都是支持以下轉換:

toByte(): Byte
toShort(): Short
toInt(): Int
toLong(): Long
toFloat(): Float
toDouble(): Double
toChar(): Char

例如:

這裏寫圖片描述

說白了,Kotlin給我們提供了比較方便的數據類型轉換,用的時候真的是特別方便。

1-2.數組

聲明數組參數類型爲Array任意數據類型:

方式1:arrayof()聲明

<!--聲明數組,參數類型-->
val a = arrayOf(10, "20", 30f)

<!--提供了set()方法-->
a.set(0,"kotlinArray")

<!--提供了get()方法-->
val index0 = a.get(0)

<!--提供了獲取數組大小-->
val size = a.size

方式2:使用Array構造函數

<!--創建Array<String> 值爲["0", "1", "4", "9", "16"]-->
val asc = Array(5, { i -> (i * i).toString() })


除此之外,Kotlin還提供了具體數據類型的數組,ByteArrayShortArrayIntArray等,它們和Array沒有繼承關係。但是也是有屬於自己類型的操作方法以及屬性等。

<!--聲明數組,參數Int型,這裏沒必要強轉,只是顯示一下其類型-->
val a = intArrayOf(10,20,30) as IntArray

<!--提供了set()方法-->
a.set(0,0)
....


1-3.字符串

這裏對只針對字符串介紹一下它的字符串模板功能。

模板表達式是以美元符號($)開頭,接下來我們看個例子:

val a = 10
print("a = $ a") //打印結果爲 a = 10

或者是{ }大括號中任意表達式:

val str = "kotlin"
print(""$ str.length是$ {"str.length"}) //打印結果kotlin.length長度是3


2.基本語法

2-1.方法的聲明

 fun sum(a: Int, b: Int): Int {
        return a + b
 }

兩個參數 類型是Int型,冒號後面是方法的返回值類型,沒有返回類型的聲明。

fun showToast(): Unit {
      ToastUtils.show("no return value function")
}
//或者:
fun showToast() {
        ToastUtils.show("no return value function")
}



2-1.變量的聲明

val a: Int = 1  // 立刻賦值
val b = 2   // 系統推倒出是Int類型
val c: Int  // 聲明變量c,暫時沒有賦值
c = 3       // 延期賦值


2-3.控制流程

2-3-1.條件語句

傳統用法:

var max: Int
if (a > b) {
    max = a
} else {
    max = b
}

表達式用法:

val max = if (a > b) a else b


2-3.2.選擇語句

使用when代替了switch case,寫法很簡單。

when (id) {
    1 -> print("id == 1")
    2 -> print("id == 2")
    else -> { 
        print("id is neither 1 nor 2")
    }
}

再來看個條件是表達式的操作。

when (id) {
    in 1..10 -> print("id 在1-10範圍之內")
    in validNumbers -> print("id 是valid")
    !in 10..20 -> print("id 不在10-20範圍內")
    else -> print("否則不在上述範圍內")
}


2-3.3.循環語句

Kotlin中沒有提供foreach方法,但是隻要提供迭代器的任何東西都可以循環遍歷,如下一個簡單的遍歷

for (item in collection) print(item)

支持塊中操作:

for (item: Int in ints) {
    // todo
}

支持範圍表達式:


for(i in 1..3){
    println(i)    // 1 2 3
}

for (i in 6 downTo 0 step 2) {
    println(i)    // 6 4 2 0
}

範圍表達式將在以後的文章中做介紹。

結尾

本篇介紹了Kotlin的入門基礎知識,這裏只是一部分在工作中常用知識點。後續會不斷的補充。

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