为什么我的`for`循环显示无限数字?

时间:2018-01-14 22:53:57

标签: java for-loop infinite-loop

这是我的代码:

package practice;    

public class Practice {
    public static void main(String[] args) {
        for (int i = 0 ; i < 5 ; i =+ 2) {
            System.out.println(i);
        }         
    }
}

2 个答案:

答案 0 :(得分:3)

您的for在每次循环后将i的值设置为+2(与2相同),因为您将+和{=置换{1}}符号:

for (int i = 0 ; i < 5 ; i =+ 2)

所以它会进行无限循环,因为for的条件i < 5始终为真,因为i0开始(0 < 5是())然后,在每次循环后,i设置为22 < 5也为真)。

试试这个:

package practice;    

public class Practice {
    public static void main(String[] args) {
        for (int i = 0 ; i < 5 ; i += 2) {
            System.out.println(i);
        }         
    }
}

答案 1 :(得分:2)

你犯了一个错误。您可能希望每次通过写

增加2
 i+=2

但是你写了

 i =+2 

这意味着我总是等于2.你给出的for循环条件

 i < 5

意味着在i小于5的情况下保持循环,并且因为我总是2,所以它将永远循环