当我看到这个时,我正在寻找开发人员代码。
for (;;){
....
....
....
}
我从未见过“;;”用于循环中。这究竟是做什么的?
答案 0 :(得分:27)
它永远循环。 ';;'等于没有起始值,没有停止条件和没有增量条件。
相当于
while (true)
{
...
}
在循环体中的某处通常会有一个条件break;
语句,除非它类似于系统空闲循环或消息泵。
答案 1 :(得分:10)
所有3个部分都是可选的。空循环初始化和更新是noop。空终止条件是隐式true
。它与
while (true) {
//...
}
请注意,它不必是全有或全无;你可以有一些而不是其他人。
for (init; cond; ) {
//...
}
for (; cond; update) {
//...
}
for (init; ; update) {
//...
}
答案 2 :(得分:4)
无限循环。很多时候它会在一个线程中用来做一些工作。
boolean exit = false;
for(;;) {
if(exit) {
break;
}
// do some work
}
答案 3 :(得分:4)
就像在C中一样,for
循环有三个部分:
例如:
for (i = 1, acc = 0; i <= 10; i++)
acc += i;
将从1到10包含数字(在C中,假设您在Perl中使用Perl语法,如$i
和大括号)。
但是,没有任何要求实际上包含的部分,如果条件丢失,则认为是真的。
所以for(;;)
循环基本上只是意味着:不要做任何循环设置,永远循环(尽管有破坏)并且不做任何特定于迭代的处理。换句话说,它是一个无限循环。
答案 4 :(得分:2)
无限循环(直到你突破它)。
它通常用于代替:
while(true) { // Do something }
答案 5 :(得分:2)
与
相同while(true) {
...
}
它永远循环。
您无需指定for循环的所有部分。例如,以下循环(不包含正文或更新标记)将执行myArray
的线性搜索
for($index = -1; $myArray[++$index] != $target;);