-4
今天我见过的对一些Java代码语句奇怪的形式:这句话的 例子是下一个:怪异声明
String doSomething(){
String str;
for (str = ""; isTrue(); str = obj.findSomething(0)) {
;
}
return str;
}
最后,我没赶上它是如何工作的。 任何想法?
谢谢。
今天我见过的对一些Java代码语句奇怪的形式:这句话的 例子是下一个:怪异声明
String doSomething(){
String str;
for (str = ""; isTrue(); str = obj.findSomething(0)) {
;
}
return str;
}
最后,我没赶上它是如何工作的。 任何想法?
谢谢。
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(;;)
一个空的终止条件被视为true
。
它只是
String doSomething() {
String str = "";
while (isTrue()) {
str = obj.findSomething(0);
}
return str;
}
当这样写不会像混乱。
单步执行时通过调试器运行它,你会看到。 – hexafraction
我没有看到任何奇怪的事情。如果您认为循环仅用于计数器,可能需要查看https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html。 – CConard96
对于(int i = 0; i
Tom