Java for循环与空初始化

时间:2014-04-02 13:17:49

标签: java loops for-loop

为什么以下输出5而不是25

public class test{

    public test()
    {
        int i =0;
        int j =0;
        int u = 0;

        for (; i<=4; i++)
        {
            for (; j<=4; j++)
            {
                u++;
            }

        }

        System.out.println(u);
    }

    public static void main(String[] args)
    {
        test t = new test();        
    }
}

2 个答案:

答案 0 :(得分:4)

因为j永远不会重置为0。

第一个内循环迭代运行j从0到4(总共增加5倍使其成为5)然后再也不会再运行,因为j保持在4 - 所以其余的外循环迭代(i = 1到i) = 4)什么都不做。

答案 1 :(得分:1)

因为第一次在j变为4之后,for循环再也不会执行...

如果你想获得25,在内循环初始化之前设置j = 0或在内循环初始化中将j初始化为0。