为什么这个循环无穷无尽

时间:2014-10-04 22:31:39

标签: java infinite-loop do-while

我是编程新手。

我正在做作业,我对这段代码有疑问:

do {
    int i=4;      
} while (true);

为什么这个循环无穷无尽?

6 个答案:

答案 0 :(得分:2)

这是编程中最基本的东西之一 - while循环。只要条件真实,while循环就会继续执行。因此,由于代码中的条件是true,它将永远运行,因为没有其他任何东西可以阻止循环。

希望这有助于您理解它:

var condition = true;
var i = 5;
do{
  i--; // decrement the value of i
  console.log('i is now', i);
  if (i == 0)
      condition = false;    
} while (condition);

console.log('loop ended');

请在此处查看:http://jsfiddle.net/9cr0yqp6/

答案 1 :(得分:0)

你没有退出方法。你永远不会把循环设置为假。

答案 2 :(得分:0)

这是一个无限循环,因为您没有条件退出循环。

True将永远为真,所以循环继续执行,直到你的条件为假(这不可能发生)。

此循环同时无限创建名为i的局部变量,然后将值4赋值给它。

答案 3 :(得分:0)

这是Java,而不是JavaScript。

当条件保持为真时,循环继续循环。

结束循环的示例和解释原因:

for(var i = 0; i < 5; i++) {
    //do something
}

每次迭代i增加1(归因于i++),一旦条件(i < 5)不再为真,循环就会爆发并结束。

在你的循环中,true将永远为真。

答案 4 :(得分:0)

或许要解释为什么循环是无穷无尽的,让我们看一下结束:

var i = 4;
do{
  i = i + 1;
} while (i < 6);

此循环将在i变为5,然后变为6时进行迭代,这将使while语句中的条件为false,从而结束循环。

如果你改为while (true),那么条件永远不会为假,循环永远不会结束。

答案 5 :(得分:0)

“while”循环是无穷无尽的,因为您将条件设置为true。