Kotlin for循环怎么用?初学者入门语法详解

文章导读
上一个 测验 下一个 什么是循环? 想象一种情况,你需要在屏幕上打印同一句话 20 次。你可以通过使用 20 次 print 语句来实现。如果需要打印同一句话 1000 次呢?这就需要使用循环来简化编程工作。实际上,循环用于重复执行特定代码块,直到满足某个条件为止。
📋 目录
  1. 什么是循环?
  2. Kotlin For 循环
  3. 遍历 Array
  4. 测验时间 (面试与考试准备)
A A

Kotlin - For 循环



上一个
测验
下一个

什么是循环?

想象一种情况,你需要在屏幕上打印同一句话 20 次。你可以通过使用 20 次 print 语句来实现。如果需要打印同一句话 1000 次呢?这就需要使用循环来简化编程工作。实际上,循环用于重复执行特定代码块,直到满足某个条件为止。

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

Kotlin For 循环

Kotlin for 循环可以遍历任何提供 iterator 的对象,即包含可计数值的对象,例如 arrays、ranges、maps 或 Kotlin 中任何其他 collection。Kotlin for 循环相当于 C# 等语言中的 foreach 循环。

Kotlin 不提供 C、C++ 和 Java 等语言中传统的 for 循环。

语法

Kotlin for 循环的语法如下:

for (item in collection) {
    // 循环体
}

遍历 Range

我们将在单独的章节中学习 Kotlin Ranges,现在你需要知道 Kotlin Ranges 提供 iterator,因此可以使用 for 循环遍历 range。

以下示例中,循环遍历 range 并打印每个单独的 item。要遍历数字范围,我们将使用 range 表达式:

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

运行上述 Kotlin 程序,将生成以下输出:

1
2
3
4
5

再看一个示例,这次循环遍历另一个 range,但与上例相反,它是递减而不是递增:

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

运行上述 Kotlin 程序,将生成以下输出:

5
3
1

遍历 Array

Kotlin Array 是另一种提供 iterator 的数据类型,因此我们可以使用 for 循环以与遍历 ranges 相同的方式遍历 Kotlin array。

以下示例使用 for 循环遍历字符串 array:

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

运行上述 Kotlin 程序,将生成以下输出:

Orange
Apple
Mango
Banana

再看同一示例,但这次我们使用 index 遍历 array。

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

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

问 1 - 关于 Kotlin for 循环,下列哪个是正确的?

A - 它用于遍历 iterator。

B - Kotlin 不提供像 C、C++ 或 Java 那样的传统 for 循环。

C - Kotlin for 循环相当于 C# 等语言中的 foreach 循环。

D - 以上全部

答案: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。