一尘不染

for循环中的分号放错位置

java

当我做作业时,我的位置犯了一个小错误; 在for循环中,如以下代码所示。

for(i=0;i<n;i++);{
    n=n*i;
}

当我编译程序时,它的编译没有错误,但是我有一段时间没有得到输出。然后后来发现我将分号放在for循环中。我在for循环后放置分号是什么错误?

class A
{
    public static void main(String args[])
    {
        int i, n=1;
        for(i=1; i<=5; i++);
        n=n*i;
        System.out.println(n);
    }    
}

我将以下代码的输出作为6而不是120输出。


阅读 257

收藏
2020-09-09

共1个答案

一尘不染

如果将分号放在for循环之后,那么它在技术上是正确的语法。因为它被认为是一个空语句-这意味着没有任何执行。

就您而言-

for(i=0;i<n;i++);

一个空语句最多执行n一次。换句话说,for-loop就是运行n时间。

{}for循环后的花括号仅执行一次。现在,花括号内的代码块{}被视为浮动块

2020-09-09