当前位置: 代码迷 >> 综合 >> Kotlin-12-循环(for+repeat+list遍历)
  详细解决方案

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

热度:64   发布时间:2023-10-09 05:46:09.0

目录

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  相关解决方案