我什么时候应该使用'while循环'?

Jav*_*aby 1 java while-loop

我只是偶然发现了这个问题"while(true)"循环如此糟糕?
他们让我想到我通常做什么.令我惊讶的是,我意识到我几乎从未while loop在我的专业代码(或工作代码)中使用过.
前端框架(例如面部等)不计算​​在内.
那我什么时候应该使用'while循环'?你多久使用一次while循环?
这是一个真实的问题,请不要因为主观而关闭我真的是在一个具体的例子之后.它不能被更好的替代品取代.

Jon*_*eet 7

我可以使用它的地方是你需要以不同的方式处理序列的第一个元素.这使得foreach循环变得笨拙,但是while循环效果很好:

Iterator<String> iterator = foo.iterator();

// Handle the first item specially
if (!iterator.hasNext()) {
    throw new SomeException("foo shouldn't be empty");
}
SomeResult result = new SomeResult(iterator.next());

// Now deal with the rest
while (iterator.hasNext())
{
    String item = iterator.next();
    result.addItem(item);
}
Run Code Online (Sandbox Code Playgroud)

此外,我使用while循环作为少数几个我将在条件中包含赋值的地方之一:

String line;
while ((line = reader.readLine()) != null)
{
    // Handle the line
}
Run Code Online (Sandbox Code Playgroud)

或者InputStream:

int bytesRead;
while ((bytesRead = input.read(buffer)) != -1)
{
    // Handle the buffer
}
Run Code Online (Sandbox Code Playgroud)