Java循环没有给出期望的结果

时间:2015-04-29 04:25:55

标签: java loops

我现在很喜欢编程和学习java。 我写了下面的代码但是我没有得到正确的结果: -

public class LifeTime {

    public static void main(String[] args) {
        int x;
        for(x = 0; x < 3 ; x++); {
            int y = -1; //y is initialized each time block is entered
            System.out.println("y is : " + y); // this always prints -1
            y = 100;
            System.out.println("Y is : " + y);
        }
    }
}

结果如下: -

y是:-1 Y是:100

直到3还有重复,为什么?

在我编写的所有循环程序中都观察到相同的行为

你能帮忙吗?

1 个答案:

答案 0 :(得分:14)

for循环与您认为的身体之间有一个虚假的分号。消除它,它应该按预期工作。

for(x = 0; x < 3 ; x++); {
                       ^
                       |
                eliminate this

现在发生的是for循环循环三次,每次执行分号形成的空语句。然后,您要执行三次的块语句将被执行一次。