无限循环:它的身体重复的次数是未知的。例如重复,直到用户键入"q“退出为止。
这是对无界for循环的解释。我不明白,有人能给我举个例子吗?提前感谢
发布于 2017-02-22 07:23:13
在for
循环中,您可以设置计数器,并且当它到达循环结束条件时,例如for (int i = 0; i < 10; i++)
。如果您需要无界循环(当您不知道您需要多少次迭代,但您有一些条件来完成它),您可以设置以下条件:
for ( ; ; ) {
if (condition == true) exit from loop;
}
或者使用while
循环,我认为这对无界更好。
发布于 2017-02-22 07:17:51
有界循环是具有已知迭代计数的循环,如下所示:
for(int i=0;i<10;i++){
}
正如您所看到的,您得到了保证(除非发生一些类似Exception
或break
语句的事情),将有10个迭代。
一个无界循环没有边界,您不能事先知道有多少迭代,例如:
boolean exit = false;
while(!exit){
// set exit to true to stop looping
}
或者像@Fildor中的示例一样,使用无结束条件的for
循环。注意,这个循环是无限的,直到像上面所说的那样,出现一个break
语句或一些异常(这个循环类似于while(true)
):
for(;;)
发布于 2017-02-22 07:18:08
下面的代码正是您发布的定义所描述的。这只是意味着,当程序员键入代码时,不知道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();
}
}
}
代码来自:这里
https://stackoverflow.com/questions/42395259
复制相似问题