Kotlin-12-循环(for+repeat+list遍历)

目录

1、方式一:点点循环递增

2、方式二:until循环递增

3、方式三:downTo循环递减

4、方式四:step 循环间隔

5、方式五:repeat重复循环

6、方式六:list遍历循环

7、方式七:list的解构遍历循环


1、方式一:点点循环递增

.. 代表从0到10的递增,包含10 

   /**
     * 1、这个循环的字面意思就是:i 从 0 到 10 循环递增,.. 就是对0到10区间内的int值的简写
     */
    for (i in  0..10){
        println("i=$i")
    }
//输出结果
i=0
i=1
i=2
i=3
i=4
i=5
i=6
i=7
i=8
i=9
i=10

2、方式二:until循环递增

until代表着 从0 到10为止的区间,意思是不包含10(注意与方式一的区别)

 for (j in  0 until 10){
      println("j=$j")
 }

//输出结果
j=0
j=1
j=2
j=3
j=4
j=5
j=6
j=7
j=8
j=9

3、方式三:downTo循环递减

downTo代表了从10到0的递减,包含10 和 0 的输出

注意:递减循环不能使用点点和until ,否则不会有任何的输出

 /**
  * 3、downTo 代表的意思就是递减
  */
  for (k in  10 downTo 0){
       println("k=$k")
  }
//输出结果
k=10
k=9
k=8
k=7
k=6
k=5
k=4
k=3
k=2
k=1
k=0

//错误写法
  for (e in  10 until 0){
        println("error=$e")
  }
  for (e in  10 .. 0){
       println("error=$e")
  }

4、方式四:step 循环间隔

step代表循环的间隔大小 

注意:这里还是需要与until的区分,until是不包含10的

 /**
  * step 的意思就是递增(递减)的间隔大小
  */
 for (l in  0..10 step 2){
       println("l=$l")
 }
//输出结果
l=0
l=2
l=4
l=6
l=8
l=10

5、方式五:repeat重复循环

repeat(count:Int) 一个高阶的循环函数,count代表循环的次数,在函数内,it代表到第几次

注意:it是从0开始计数的

 repeat(10){
       println("it=$it")
 }
//输出结果
it=0
it=1
it=2
it=3
it=4
it=5
it=6
it=7
it=8
it=9

6、方式六:list遍历循环

这里其实就是对..和until的简写,因为list就代表了0到10的区间

 val list= arrayListOf<String>("a","b","c","d")

    for (str in list ){
        println("str=$str")
    }
//输出结果
str=a
str=b
str=c
str=d

7、方式七:list的解构遍历循环

解构在Kotlin-解构中有详细讲解

 for ((index,str) in list.withIndex()){
        println("第${index}个的元素是$str")
    }
//输出结果
第0个的元素是a
第1个的元素是b
第2个的元素是c
第3个的元素是d

8、点点的其他作用

点点是一个范围表达式rangTo()的重载操作符。它除了上面表达int类型的区间以外,还能表示 字母的区间。

fun main() {
    val isTest1= "d" in "a".."d"
    val isTest2= "d" in "a".."c"

    println("isTest1=$isTest1")
    println("isTest2=$isTest2")
}
//输出结果
isTest1=true
isTest2=false

9、in 的其他作用

in除了上面遍历一个集合的作用以外,还能用来做集合包含的判断作用。

fun main() {
    val isTest1= "d" in "a".."d"
    val isTest2= "d" in "a".."c"
    val isTest3= "a" in listOf("a","z")
    val isTest4= "a" !in listOf("b","z")
    val isTest5= "zhang" in "abc".."xyz"
    val isTest6= "li" in "abc".."xyz"

    println("isTest1=$isTest1")
    println("isTest2=$isTest2")
    println("isTest3=$isTest3")
    println("isTest4=$isTest4")
    println("isTest5=$isTest5")
    println("isTest6=$isTest6")
}
//输出结果
isTest1=true
isTest2=false
isTest3=true
isTest4=true
isTest5=false
isTest6=true

发布了82 篇原创文章 · 获赞 16 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/qq_34589749/article/details/103553865