Kotlin - For 循环


什么是循环?

想象一下当您需要在屏幕上打印一个句子 20 次的情况。使用 print 语句 20 次就可以完成。如果您需要将同一句话打印一千次怎么办?这就是我们需要使用循环来简化编程工作的地方。实际上,循环在编程中用于重复特定的代码块,直到满足特定条件。

Kotlin 支持各种类型的循环,在本章中我们将学习 Kotlin for循环。

Kotlin For 循环

Kotlin for循环遍历任何提供迭代器的东西,即。包含可数数量的值,例如数组、范围、映射或 Kotlin 中可用的任何其他集合。Kotlin for循环相当于C# 等语言中的foreach循环。

Kotlin 不提供C、C++ 和 Java 等中可用的常规for循环。

句法

Kotlin for循环的语法如下:

for (item in collection) {
    // body of loop
}

迭代范围

我们将在单独的章节中研究 Kotlin Ranges,现在您应该知道 Kotlin Ranges 提供了迭代器,因此我们可以使用for循环来迭代范围。

以下是循环遍历范围并打印单个项目的示例。要迭代一系列数字,我们将使用范围表达式:

fun main(args: Array<String>) {
   for (item in 1..5) {
      println(item)
   }
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

1
2
3
4
5

让我们再看一个示例,其中循环将迭代另一个范围,但这次它将逐步下降,而不是像上面的示例中那样逐步上升:

fun main(args: Array<String>) {
   for (item in 5 downTo 1 step 2) {
      println(item)
   }
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

5
3
1

遍历数组

Kotlin 数组是另一种提供迭代器的数据类型,因此我们可以使用for循环来迭代 Kotlin 数组,就像我们对范围所做的那样。

以下是我们使用for循环迭代字符串数组的示例:

fun main(args: Array<String>) {
   var fruits = arrayOf("Orange", "Apple", "Mango", "Banana")
   
   for (item in fruits) {
      println(item)
   }
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

Orange
Apple
Mango
Banana

让我们再次查看相同的示例,但这次我们将使用数组的索引来迭代该数组。

fun main(args: Array<String>) {
   var fruits = arrayOf("Orange", "Apple", "Mango", "Banana")
   
   for (index in fruits.indices) {
      println(fruits[index])
   }
}

当你运行上面的 Kotlin 程序时,它将生成以下输出:

Orange
Apple
Mango
Banana

测验时间(面试和考试准备)

答案:D

解释

所有提到的关于 Kotlin for 循环的陈述都是正确的。

问题 2 - 以下 for 循环打印的最后一个数字是什么?

fun main(args: Array<String>) {
   for (item in 6 downTo 1 step 2) {
      println(item)
   }
}

A -6

B -5

C -3

D -2

答案:D

解释

当我们执行上面的程序时,它会打印 6 4 2,因此循环打印的最后一个数字将是 2