【问题标题】:While/For loop troubleWhile/For 循环问题
【发布时间】:2016-02-17 03:55:39
【问题描述】:

当我在看这段代码时,我最初认为这将是一个无限循环。但是当我运行代码时,我得到了这个作为输出(附加为图像)。我想知道是否有人可以解释我为什么给出这个输出?

public static void main(String[] args){
int i = 0;
while (i < 5) {
    for (int j = i; j > 1; j--)
        System.out.print(j + " ");
    System.out.println("******");
    i++;
}
}

【问题讨论】:

  • 你为什么期望它是无限的?
  • 因为我认为print语句和increment语句在for循环内。
  • 这不会让它无限
  • 要将多个语句放在for 循环中,您需要将它们放在花括号中。如果大括号不存在,则只有下一条语句在 for 循环内,而之后的语句在外。但是,将所有三个语句都放在花括号内不会使循环无限(尝试一下)。
  • 好的,谢谢您的帮助!

标签: java for-loop while-loop


【解决方案1】:

这不是一个无限循环,因为 i 正在递增

while (i < 5) {
    for (int j = i; j > 1; j--)
        System.out.print(j + " "); //only statement in the for
    System.out.println("******");
    i++;
}

如您所见,for 循环中的唯一语句是 System.out.print(j + " "); ,您可以扩展多个语句并用 {}

将它们包装起来

【讨论】:

    猜你喜欢
    • 2018-11-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 2011-06-19
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    相关资源
    最近更新 更多