Java无限循环

时间:2017-02-22 15:10:46

标签: java loops for-loop

  

无界循环:其身体重复的次数未知   预先。 •例如重复直到用户键入" q"退出。

这是无界for循环的解释。我不明白,有人可能会举个例子吗?提前致谢

5 个答案:

答案 0 :(得分:0)

有界循环是具有已知迭代计数的循环,如:

for(int i=0;i<10;i++){

}

如您所见,您可以保证(除非发生类似某些Exceptionbreak语句),将会有10次迭代。

无界循环没有界限,你无法预先知道会有多少次迭代,例如:

boolean exit = false;

while(!exit){

 // set exit to true to stop looping
}

或者像来自@Fildor的示例,for循环没有结束条件。 请注意,此循环是无限的,直到如上所述,break语句或某些异常发生(此循环类似于while(true)):

for(;;)

答案 1 :(得分:0)

以下代码完全符合您发布的定义所描述的内容。它只是意味着当程序员输入代码时,不知道while循环体的运行次数。

BufferedReader br = null;

try {

    br = new BufferedReader(new InputStreamReader(System.in));

    while (true) {

        System.out.print("Enter something : ");
        String input = br.readLine();

        if ("q".equals(input)) {
            System.out.println("Exit!");
            System.exit(0);
        }

        System.out.println("input : " + input);
        System.out.println("-----------\n");
    }

} catch (IOException e) {
    e.printStackTrace();
} finally {
    if (br != null) {
        try {
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

代码来自:here

答案 2 :(得分:0)

看看,在for循环中,您可以设置计数器以及何时达到循环结束条件,例如for (int i = 0; i < 10; i++)。 如果你需要无界循环(当你不知道需要多少次迭代,但是你有完成的条件时),你可以设置以下条件:

for ( ; ; ) {
   if (condition == true) exit from loop;
} 

或使用while循环,我认为这对于无界限更好。

答案 3 :(得分:0)

未绑定循环也可能是由于逻辑错误造成的:

示例:

int i;
for(i=0;i!=i+1;++i){
    //System.out.println(i);
}
System.out.println(i); // never prints

答案 4 :(得分:0)

以下是一个例子:

import java.io.IOException;

public class Class {

  public static void main(String... args) throws IOException {
    int count = 0;
    for (char c = ' '; c != 'q'; c = (char) System.in.read()) {
      System.out.println("current value of c: " + c);
      System.out.println("Number of keystrokes so far: " + count++);
    }
  }
}