The for
loop, the while
loop, and the if
statement (ignoring else
) all control a single Statement:
for (
[ForInit] ;
[Expression] ;
[ForUpdate] )
Statement
for (
{VariableModifier} UnannType VariableDeclaratorId :
Expression )
Statement
while (
Expression )
Statement
if (
Expression )
Statement
That statement may be a Block, i.e. braces {}
with multiple statements.
So, this code is all the same:
for(i=1, j=0;i<10;i++)
j += i;
System.out.println(i);
for(i=1, j=0;i<10;i++)
j += i;
System.out.println(i);
for(i=1, j=0;i<10;i++)
j += i;
System.out.println(i);
for(i=1, j=0;i<10;i++) {
j += i;
}
System.out.println(i);
The first two are very bad, because they hide (misrepresent) the code structure.
Many people advocate always using blocks, to prevent confusing and coding errors.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…