这就是我执行 while 循环的方式:
boolean more = true;
while (more)
{
// do something
if (someTest())
{
more = false;
}
}
这很标准。我很想知道是否有一种方法可以在 Java 中执行类似于以下代码的操作:(我想我已经在 C 中看到过类似的操作)
// The code below doesn't compile (obviously)
while (boolean more = true)
{
// do something
if (someTest())
{
more = false;
}
}
我之所以问这个,是因为目前我不喜欢定义条件中使用的变量的方式(在本例中为:“更多”)在循环范围之外,即使尽管它只在循环内部相关。循环结束后将它留在原处是没有意义的。
* * 更新 * *
在参观 Porcaline Chamber of Secrets 之后,我想到了一个主意:
for (boolean more=true; more; more=someTest())
{
// do something
}
它并不完美;它滥用了 for 循环,我想不出一种方法来至少执行一次循环,但它很接近...有没有办法确保循环执行 1 次以上?
最佳答案
要从字面上回答你的问题,你可以这样做
for(boolean more = true; more; ) {
more = !someTest();
}
但这与
while(!someTest());
如果它必须至少执行一次你可以做
do {
} while(!someTest());
关于java - 是否可以在条件内声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11782578/