1. 程式人生 > >快速學習Kotlin(六)迴圈

快速學習Kotlin(六)迴圈

一想到迴圈操作,我們第一個想到的就是Java中的for迴圈的寫法:

    var count:Int;
    for (coun = 0;count < 10 ; count ++){
    }

但是需要注意的是,在Kotlin中是沒有這種寫法操作的,這種寫法是不能執行通過的。

Kotlin中有許許多多的迴圈可以供我們大家來選擇性使用。下面我逐一來講解Kotlin中的迴圈操作。

  • 第一種
    var i:Int;
    for(i in 1..10){
        println("this is $i");
    }

首先定義了一個變數i,之後用in這個關鍵字來處理,代表遍歷的資料賦值給i這個變數;而後面的1-10之間我們用..來隔開,代表1-10這個閉區間。所以最後打印出來的i的值是1,2,3,4...9,10這十個數字,而不是1-9這九個數字。

    for (i in 1 until 10){
        println("this is $i");
    }

可以看到這種寫法是將第一種寫法中的 “ .. ” 換成了until關鍵字,其實作用和 “ .. ” 是一樣的。

  • 第二種
    for(i in 1 downTo 10){
        print("this is $i");
    }

看到,在這種寫法中1和10之間用了一個關鍵字downTo。那麼這個downTo是什麼意思呢?downTo代表從10到1,也就是第一種遍歷方法反過來操作。在kotlin迴圈中,我們不能在遍歷的時候由大到小的寫,而當我們需要由大到小的方式來遞減迴圈遍歷應該怎麼處理呢?這個時候就可以使用downTo關鍵字來處理。

  • 第三種
    for(i in 1..10 step 2){
        print("this is $i");
    }

在第一種迴圈的基礎上我們在後面加了一個step 2,這代表什麼意思呢?

step 2 代表其步進為2,也就是說此時i輸出的值變成了:1,3,5,7,9;他們每個輸出的值得差值都為2。

  • 第四種
    repeat(10){
        print(it);
    }

repeat() 其實是kotlin中的一個為我們封裝好的函式,代表這個括號裡面的程式碼需要被執行多少次,這裡我傳入了10代表裡面的代表需要被迴圈10次,裡面的it為這個函式提供的變數,我們直接使用就可以,他可以顯示目前為止程式被執行到了第幾次。

集合的遍歷

迴圈操作我們在平時的專案中用的最多的還是遍歷集合元素。這裡我寫兩種遍歷集合的方式作為參考。

1、輸出list集合中的元素以及下角標:

    var str:String;
    
    var list  = listOf<String>("a","b","c","d","e","f");
    
    list.forEach{
        print(it);   //這裡的it指代被遍歷的list中的值 
    }
    
    for (str in list){
        println(str);
    }
    
    for ((index,str) in list.withIndex()){
        
        print("這是第 $index 個元素,他的值為 $str");
        
    }

2、輸出map集合中的key與value

    var map = mutableMapOf<Int,String>(1 to "A",2 to "B",3 to "C",4 to "D",5 to "E");

    map.forEach{
        it.key;
        it.value;
    }
    
    for (value in map){
        println(value);
    }

    for ((key,value) in map){
        println("這是第 $key 個元素,元素為 $value");
    }

其中在遍歷的時候我們用到了kotlin的解構方式。

另外一說,在kotlin中也有while和do...while迴圈,用法和Java一樣,這裡就不展開講了。

如果覺得我的文章能夠幫助到你,也歡迎關注我的微信公眾號「晨雨細曲」,有新技術和知識會推送在這上面。