-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