提问者:小点点

如果控制台可以打印大于2的值,为什么它不能打印FOR循环中小于2的i的值?


基本上就是我的标题所说的。 下面是一段代码

for (int i = 9; i >= 2; i--) {
system.out.println(i + " ");
}

这将打印到2之前的所有值,因此建议从9开始并且如果它不低于2,就应该打印i。 它确实如此。

现在这个不是

for (int i = 9; i <= 2; i--) {
system.out.println(i + " ");
}

我想的是它应该在不打印任何东西的情况下倒数到2,然后打印2和1,因为标准是所有值等于或小于2,打印i。 但是,控制台上没有显示任何内容。

我对FOR循环的理解可能是错误的,我真的在努力完善我的基本概念知识,所以我很感激你的帮助。


共3个答案

匿名用户

基本概念是:第一循环=>; i=9,检查9>=2=true,打印9,i=i-1秒循环=>; i=8,检查8>=2=true,打印8,i=i-1。 。。最后一个循环=>; i=1,检查1>=2=false,结束

在第二个示例中,第一个循环=>; i=9,检查9<=2=false,结束

我希望我能帮助您理解for循环

匿名用户

循环仅在条件为true时执行。 如果为false,则循环将永远不会执行。

匿名用户

如果你想从9开始倒数,只打印2和1,你就必须这样写:

for (int i = 9; i >= 1; --i) {
    if (i <= 2) {
        System.out.print(i + " ");
    }
}

当然,如果您只想打印2和1,通常只需要写:

for (int i = 2; i >= 2; --i) {
    System.out.print(i + " ");
}

通常你不会从9开始计数,除非你想对9到3以及2和1做点什么(不是忽略它们):

for (int i = 9; i >= 1; --i) {
    if (i <= 2) {
        System.out.print(i + " ");
    } else {
        System.out.println("We're not going to print " + i);
    }
}