Java Android For语句/循环参数

时间:2013-11-05 10:24:34

标签: java android loops for-loop

您好我已经在线获取了一些来自android示例项目的java代码,并且在代码中有一个For语句/循环。此For语句的参数显示为(;;)而不是(int i = 0; i< string; i ++)。任何人都可以通过将参数设置为(;;)来准确解释这个循环的作用吗?我尝试过网上研究但找不到东西! 感谢

for (;;) {

                len = mSerial.read(rbuf);
                rbuf[len] = 0;


                if (len > 0) {
                       //do something
   }
   }

5 个答案:

答案 0 :(得分:7)

for (;;)

是无限循环,因为没有退出条件。

For循环语法

for(initialization; Boolean_expression; update)
{
   //body
}

初始化,Boolean_expression,update,body:所有这些都是可选的。 for循环一直执行到Boolean_expression,直到它不为false。如果缺少Boolean_expression,则for循环永远不会终止。

答案 1 :(得分:4)

没有初始化,没有退出条件,没有增量..这是一个无限循环?

答案 2 :(得分:2)

这是一个无限循环。 for循环有4个部分

for (initialisation; condition; increment/decrement) {
  loop body
}

您可以选择省略这些部分中的任何部分(尽管某些编译器可能会抱怨缺少循环体,而其他编译器会忽略整个循环以获得性能)。

完全可行的是,您可能已经初始化了一个变量,并且可能会跳过循环内的初始化:

int i = 0;

for ( ; i < 10; i++ ) {
    // do something
} 

您也可以选择省略增量,并在其他地方执行此操作(小心将其包含在循环中,否则可能会无意中导致无限循环):

for ( int i = 0; i < 10; ) {
    // do something
    i++;
} 

也可以省略条件并将其包含在其他地方:

for ( int i = 0; ; i++ ) {
    // do something

    if (i == 9) {
      break;
    }
} 

或者你可以完全省略所有这些并进行无限循环。

答案 3 :(得分:1)

当if条件满足时,它是一个无限循环。如果您正在等待来自用户的输入,那么它可以被使用,直到它循环。

答案 4 :(得分:1)

当你为(;;)声明for循环时。每次循环都会检查条件,它总是返回true,因此它进入无限循环。它类似于而(true) .if你想打破循环然后你需要添加break语句然后它将从无限循环中出来。