首页 > 解决方案 > 为什么这个块在执行过程中没有被执行?

问题描述

int n = 3;
int x = n;
int y = 0;
for(int i = n; i > 0; i--)
    for(int j = 0; j <=n; j++)
        if(j > n)
            for(int k = 1; k <=n; k++)
                System.out.println("x is " +x--);
        else
            System.out.print("y is " +y++);

在 if 语句下 if(j > n) 为什么不执行 for 循环?我真的不明白为什么,因为我们的导师让我们分析运行时间,我真的不明白为什么在执行期间没有执行 for 循环。请帮我..

标签: java

解决方案


for(int j = 0; j <=n; j++)
    if(j > n)

您在for循环中所说的是:执行此代码 while jis less or equalto n

然后对if你说:如果j is greatern

j永远不会大于 ,n因为for循环限制jfaueless or equaln

这是非常基本的,你应该阅读更多关于如何for工作的内容。

另外,避免不使用{},这是非常危险的。更喜欢总是这样做:

for(int j = 0; j <=n; j++) {
    if(j > n) {
         ....
    }
}

推荐阅读