为什么我使用for循环得到这个结果? 【JAVA]

时间:2016-10-23 23:31:26

标签: java for-loop

我对以下代码有疑问。

public class test
{
    public static void main (String[] args)
    {
    int a = 0;
    int b = 0;

    for (int i = 0; i < 5; i++); {
        b = b + a;
        a++;
    }
    System.out.println(b);

为什么这个0的输出?你可以看到我是一个完整的初学者,但为什么在打印答案之前它没有经过4次循环?

非常感谢帮助!

//困惑的初学者

3 个答案:

答案 0 :(得分:1)

For循环遍历for语句之后的语句或块。在这种情况下,您有一个迷路分号导致下一个语句为空。删除它,您的代码将以indended

的形式工作

替换:

for (int i = 0; i < 5; i++); { 
    b = b + a;
    a++;
}

- 附 -

for (int i = 0; i < 5; i++) {
    b = b + a;
    a++;
}

答案 1 :(得分:1)

它不会返回0. In不返回任何内容,因为代码中存在错误。

在for循环之后,没有;

public static void main(String[] args){   

    int a = 0;
    int b = 0;

    for (int i = 0; i < 5; i++) {
        b = b + a;
        a++;
    }
    System.out.println(b);
}

答案 2 :(得分:0)

只需在for循环语句后删除分号,否则大括号包围的主体将不会被考虑在for循环中。

替换以下内容:

for (int i = 0; i < 5; i++); {
                           ^ <--- remove it  
    b = b + a;
    a++;
}

通过

for (int i = 0; i < 5; i++); {
    b = b + a;
    a++;
}