这是我如何做一个while循环:
boolean more = true;
while (more)
{
// do something
if (someTest())
{
more = false;
}
}
Run Code Online (Sandbox Code Playgroud)
这是非常标准的.我很想知道是否有办法在Java中执行类似下面的代码:(我想我在C中看到过类似的东西)
// The code below doesn't compile (obviously)
while (boolean more = true)
{
// do something
if (someTest())
{
more = false;
}
}
Run Code Online (Sandbox Code Playgroud)
我只问这个,因为目前我不喜欢我在循环范围之外定义条件中使用的变量(在这种情况下:"more")的方式,即使它只在循环内部相关.循环结束后,它没有任何意义.
**更新**
在参观了Porcaline密室后,我想到了一个想法:
for (boolean more=true; more; more=someTest())
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
它并不完美; 它正在滥用for循环,我无法想到至少执行一次循环的方法,但它已经接近了......有没有办法确保循环执行1次以上?
要按字面意思回答你的问题,你可以做到
for(boolean more = true; more; ) {
more = !someTest();
}
Run Code Online (Sandbox Code Playgroud)
但这跟大致相同
while(!someTest());
Run Code Online (Sandbox Code Playgroud)
如果它必须至少执行一次就可以执行
do {
} while(!someTest());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8174 次 |
最近记录: |