在for循环的头部声明有限范围的变量

时间:2010-04-14 12:26:10

标签: javafx

在Java中,您有时会这样做:

for (int a = 1, b = 2; b < high;) {
    if (b % 2 == 0) {
        result += b;
    }

    int tmp = b;
    b       = a + b;
    a       = tmp;
}

在这里,我使用了for循环而不是while循环来限制a和b的范围。

但是如何在JavaFX中实现这一目标? for循环似乎没有提供这种可能性。我是否必须使用while循环?

1 个答案:

答案 0 :(得分:1)

你可以使用匿名块的Java技巧:

var high = 10;

{
    var a = 0;
    for (b in [1..high-1]) {
      // this is fine
      println("{a}");
    }
}
// won't compile here
//println("{a}");

JavaFX中的相似表达式,但是使用这些表达式,您将获得双循环。根据这个doc