zod*_*645 -1 java for-loop curly-braces
我不知道为什么以下两个代码会给出不同的结果;
for(i = 1, j = 0; i < 10; i++) {
j += i;
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
此数字给出1至10之间的数字。
for(i = 1, j = 0; i < 10; i++)
j += i;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
但是这个给了10。
for()
do_something;
do_something_else;
Run Code Online (Sandbox Code Playgroud)
该for
循环的while
循环,和if
语句(忽略else
)所有控制单个语句:
for (
[ForInit];
[表达式];
[ForUpdate])
语句
for (
{VariableModifier} UnannType VariableDeclaratorId:
表达式)
语句
while (
表达)
声明
if (
表达)
声明
该语句可能是Block,即{}
带有多个语句的括号。
因此,此代码完全相同:
for(i=1, j=0;i<10;i++)
j += i;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
for(i=1, j=0;i<10;i++)
j += i;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
for(i=1, j=0;i<10;i++)
j += i;
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
for(i=1, j=0;i<10;i++) {
j += i;
}
System.out.println(i);
Run Code Online (Sandbox Code Playgroud)
前两个非常糟糕,因为它们隐藏(虚假表示)代码结构。
许多人主张始终使用块,以防止混淆和编码错误。