for循环可以用Java编写来创建一个无限循环,还是仅在导致该问题的循环中?
答案 0 :(得分:14)
for(;;){}
与
相同while(true){}
答案 1 :(得分:9)
您也可以使用for循环执行此操作。例如。以下内容与while(true)
相同:
for(;;) {
}
答案 2 :(得分:8)
除了范围问题和另外一件事,这个:
for(<init>; <test>; <step>) {
<body>
}
与:
相同<init>
while(<test>) {
<body>
<step>
}
正如其他人所提到的那样,您可以使用while
表单而不是<init>
表单或<step>
表单,这样就可以for
没有它们的循环:
while(<test>) {
<body>
}
与
相同for(;<test>;) {
<body>
} //Although this is terrible style
最后,你可以有一个
for(;true;) {
<body>
}
现在,还记得当我说还有另外一件事吗?这是for
循环不需要测试 - 产生其他人发布的解决方案:
for(;;) {
<body>
}
答案 3 :(得分:6)
当然可以
for(int i = 0; i == i; i++) {}
任何循环都可以变为无限,只要你想办法永远不会达到退出条件。
答案 4 :(得分:4)
不要忘记像
这样的错误for (int i=0; i<30; i++)
{
//code
i--;
}
它并不是那么罕见。
答案 5 :(得分:3)
只是为了好玩(这个评论太长了):很多的人会非常惊讶地发现,对于很多非常实用的目的,以下几乎是 无限循环:
for (long i = Long.MIN_VALUE; i < Long.MAX_VALUE; i++) {
...
}
如果执行这个循环的线程每秒可以进行4亿次循环,并且可以在一个周期内完成增量和检查(对于单个线程非常强大),如果我的数学不完全关闭,我认为上面的代码需要大约150年才能执行:)
答案 6 :(得分:2)
我只是添加这个,因为没有人做过这个版本:
for(;;);
答案 7 :(得分:2)
我让服务器运行的方式,直到我关闭它是
for(int i = 0;i<-1;i++){//code here}
答案 8 :(得分:1)
forcourse for循环可能会导致无限循环。一个例子是:
for(int i = 0; i < 99; i /= 2){
...
}
因为i
永远不会递增,所以它将永远保留在for
循环的主体中,直到您退出程序。
答案 9 :(得分:0)
还有这一个,以完成主题:
do {something();} while(true);
答案 10 :(得分:0)
有许多方法可以使循环无限。这是我找到的解决方案:
int j = 1;
for (int i = 0; i < j; i++) {
//insert code here
j++;
}
这对我来说非常有用,因为它允许循环检查无限量的值以及无限循环。
答案 11 :(得分:-1)
您可以将代码的子部分声明为for循环的另一部分,例如 -
public class (classname) {
for(int i = 1; i <= 4; i++) {
for(int j = 1; i <= 4; j++) {
system.out.println(i + "*" + j + "=" (i*j));
}
}
它几乎处于无限循环中;如果你将int更改为long,并添加更多变量,实际上可以使它持续25 x 10 ^ 12分钟