每天学一点 Kotlin -- 控制流:循环
2021-10-22 本文已影响0人
冯可乐同学
----《第一季Kotlin崛起:次世代Android开发 》学习笔记
总目录:每天学一点 Kotlin ---- 目录
上一篇:每天学一点 Kotlin -- 控制流:多元判断
下一篇:每天学一点 Kotlin -- 字符串和字符
1. 介绍
1.1 Kotlin 支持其他语言中常见的两种循环:while 和 for 循环。while 循环的语法和C、Java中一样的。for 循环的语法和 Java 中的 forEach 的语法很像。
2. for 循环
2.1 for 循环的语法如下:
for(单项 in 集合){
// 具体的操作...
}
其中,“单项”是一个常量,不需要再添加 val 关键字了。而且它只在 for 循环的大括号内部使用。
2.2 Kotlin 中的 for 循环用于迭代任何一个预定义或者扩展了一个名为 iterator 的函数。所有集合类型都提供了这个函数。举个栗子:
fun main(args: Array<String>) {
testFor_01()
}
fun testFor_01() {
val list = listOf(2, 3, 5, 6, 8)
for (k in list) {
print(" " + k)
}
println()
val set = setOf(1, 2, 3, 4)
for (k in set) {
print(" ${k}")
}
}
打印结果:
2 3 5 6 8
1 2 3 4
2.3 一个对象想要被 for 循环使用,需要实现一个 iterator 的函数。这个函数必须返回一个提供了实现以下两个操作符函数的对象实例:
operator fun hasNext() : Boolean
operator fun next() : T
编译器不会纠结于任何特定的接口,只要这个对象返回这两个函数就可以。比如,系统提供的字符串类 String,Kotlin 已经提供了一个 iterator 扩展函数,所以 String 能用 for 循环进行迭代。
fun testFor_02() {
val str = "努力学习Kotlin"
for (item in str) {
print(item + " ")
}
println()
val arr = arrayOf(1, 2, 3, 4, 5, 6)
for (item in arr) {
print(" " + item)
}
}
打印结果:
努 力 学 习 K o t l i n
1 2 3 4 5 6
2.4 对于 Java 或 C 中的 for 的指定次数的循环,Java 中写法为:
for(int i = 0; i < 100; i++){
System.out.println("" + i)
}
在Kotlin中,相应的写法为:
for(i in 1..100){
println("" + i)
}
3. while 循环
while 循环的语法和C、Java中一样的,举例如下:
fun main() {
var i = 0
while(i < 4){
i++
println("这是一个有限循环...")
}
// while(true){
// println("这是一个无限循环...")
// }
}