今天我在某些Java代码中遇到了奇怪的for语句形式: 这个陈述的例子如下:
String doSomething(){
String str;
for (str = ""; isTrue(); str = obj.findSomething(0)) {
;
}
return str;
}
最后,我没有理解它是如何工作的。 有什么想法吗?
谢谢。
答案 0 :(得分:0)
String doSomething() {
String str;
for (str = ""; isTrue(); str = obj.findSomething(0)) {
; // inside
}
return str;
}
相当于
String doSomething() {
String str;
{ // begin of for loop's scope
str = ""; // initialization
while (isTrue()) { // termination
{
; // inside
}
str = obj.findSomething(0); // increment
}
}
return str;
}
这适用于这样的每个for循环,for(;;)
中的空终止条件被视为true
。
它只是
String doSomething() {
String str = "";
while (isTrue()) {
str = obj.findSomething(0);
}
return str;
}
当这样写的时候不会让人感到困惑。