首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin For循环,困惑

Kotlin For循环,困惑
EN

Stack Overflow用户
提问于 2022-07-04 18:21:26
回答 2查看 69关注 0票数 -2

有人解释过它是怎么工作的吗?请解释一下X和Y。答覆: 81及23

代码语言:javascript
运行
复制
fun main(args: Array<String>) {
    var x =0
    var y =20

    for (outer in 1..3) {

        for (inner in 4 downTo 2) {
            x += 6
            y++
            x += 3
        }

        y -= 2
    }

    println("$x $y")
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-07-04 18:33:22

您可以使用插入的print语句来执行这些步骤。对于x,如下所示:

代码语言:javascript
运行
复制
var x = 0
for (outer in 1..3) {
  for (inner in 4 downTo 2) {
    x += (6 + 3)
    println("outer: $outer | inner: $inner | x: $x")
  }
  println()
}
println("x: $x")

Output:

outer: 1 | inner: 4 | x: 9
outer: 1 | inner: 3 | x: 18
outer: 1 | inner: 2 | x: 27

outer: 2 | inner: 4 | x: 36
outer: 2 | inner: 3 | x: 45
outer: 2 | inner: 2 | x: 54

outer: 3 | inner: 4 | x: 63
outer: 3 | inner: 3 | x: 72
outer: 3 | inner: 2 | x: 81

x: 81

Y也一样:

代码语言:javascript
运行
复制
var y = 20
for (outer in 1..3) {
  for (inner in 4 downTo 2) {
    y++
    println("outer: $outer | inner: $inner | y: $y")
  }
  y -= 2
  println("outer: $outer | y: $y")
  println()
}
println("y: $y")

输出:

代码语言:javascript
运行
复制
outer: 1 | inner: 4 | y: 21
outer: 1 | inner: 3 | y: 22
outer: 1 | inner: 2 | y: 23
outer: 1 | y: 21

outer: 2 | inner: 4 | y: 22
outer: 2 | inner: 3 | y: 23
outer: 2 | inner: 2 | y: 24
outer: 2 | y: 22

outer: 3 | inner: 4 | y: 23
outer: 3 | inner: 3 | y: 24
outer: 3 | inner: 2 | y: 25
outer: 3 | y: 23

y: 23
票数 2
EN

Stack Overflow用户

发布于 2022-07-04 18:30:24

开始变量x=0,y= 20。外部循环运行3次,内环运行3次。因此,内环中的函数被调用9次,外循环中的函数(y-=2)运行3次。

X=0+ (9 * (6 + 3)) = 81

Y= 20 +9+ (3 * -2) = 23

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72860712

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档