1. 程式人生 > >我的Kotlin學習之旅(二)

我的Kotlin學習之旅(二)

在Kotlin語言中文站學習了一段時間,這是第二次看文件,第一次簡單的看了一遍,等真正要用的時候又發現不真正實踐的話,學習的效果並沒有很好,所以在第二遍看文件的時候,自己手寫做了一遍筆記,然後接著寫這個學習之旅的部落格
首先是Kotlin的基本語法:

1.定義函式

fun sum(x: Int, y: Int): Int {
        return x + y
    }

這個函式有兩個Int型別的引數,返回的結果是Int型別
簡化版(自推導型返回值):

fun sum(x: Int, y: Int) = x + y

當函式的返回型別是void的時候,用的是Unit

 fun printSum(x: Int
, y: Int): Unit { println(x + y) }

同時Unit可以省略

fun printSum(x: Int, y: Int) {
        println(x + y)
}

2.定義區域性變數

在kotlin中變數分為兩種:val 和 var
val是常量的意思,它不可以被重新賦值,只能被賦值一次!
var代表的是變數的意思

val a: Int = 1

當對a進行重新賦值的時候,程式碼會飄紅

var b: Int = 2;
b = 3;

var可以被重新賦值

3.使用條件表示式

if表示式的寫法有但不限於以下幾種:

fun max(x: Int, y: Int): Int {
        if (x > y) {
            return x
        } else {
            return y
        }
    }

或者

 fun max(x: Int, y: Int): Int {
        return if(x > y) x else y
 }

或者

 fun max(x: Int, y: Int) = if(x > y) x else y

4.使用for迴圈

 val list = listOf("a","b"
,"c") for (item in list){ //自己的邏輯 }

又或者可以這樣寫:

for (index in list.indices){
    //自己的邏輯
}

5.使用when表示式

when表示式是java中沒有的,它的作用和switch類似

fun describe(obj: Any): String =
        when(obj){
            1 -> "這是數字"
            "hello" -> "這是字串"
            else -> "不知道"
        }

kotlin中,Any是所有類的父類,但是不等同於java中的Object,這一點要注意
when表示式必須要有else,因為它是個表示式,所以可以像上面那樣寫

6.使用區間(range)

if(x in 1..10){
    //自己的邏輯
}

意思是 x 是否在 [1,10]這個區間內

if(x !in 1..10)

代表的是相反的意思,x不在這個區間內

for (x in 1 until 10){
   //自己的邏輯
}

這裡需要注意的是,這個區間表示的是[1,10),注意是不包括尾巴的

 for (x in 10 downTo 0){
     //自己的邏輯
 }

for迴圈從10開始,到0 ,區間是[10,0]

基本語法就到這裡了