如果只在java中生成一条语句,是否需要在double for循环中使用括号?

如果只在java中生成一条语句,是否需要在double for循环中使用括号?,java,for-loop,Java,For Loop,我不知道第二个for循环是否会被视为表示需要花括号的语句 所以我想问的是,这些是否适用于循环: for (int i=1;i<a.length;i++){ for (int j=0;j<a[i].length;j++){ a[i][j] = b[i][j]-c[i][j]; } } for (int i=1;i<a.length;i++) for (int j=0;j<a[i].length;j++) a[i][j

我不知道第二个for循环是否会被视为表示需要花括号的语句

所以我想问的是,这些
是否适用于循环

for (int i=1;i<a.length;i++){
    for (int j=0;j<a[i].length;j++){
        a[i][j] = b[i][j]-c[i][j];
    }
}
for (int i=1;i<a.length;i++)
    for (int j=0;j<a[i].length;j++)
        a[i][j] = b[i][j]-c[i][j];

简短回答:

详细回答:你不必这么做,但你应该这么做。它增加了代码的可读性,可以避免无用的调试和深夜工作。此外,还明确指出,您应该始终使用大括号

你也可以这样写:

for (int i=1;i<a.length;i++)
    for (int j=0;j<a[i].length;j++)
        if (a[i][j] > 500)
            if (checkForSomethingStupid(a[i][j]))
                a[i][j] = b[i][j]-c[i][j];

for(int i=1;i您不需要大括号,因为它是一条语句。但强烈建议您这样做,否则您将有一次出现编码错误。(添加一条语句时)

是的,它们是相同的

因为大括号是包含多个其他语句所必需的,但在第一个语句之后只使用一个for(即使用其他语句,但它包含在for循环中)

但是,大括号的使用非常有用,因为它们简化了阅读,因此编写代码的更好方法是:

for (int i=1;i<a.length;i++)
{
    for (int j=0;j<a[i].length;j++)
    {
        a[i][j] = b[i][j]-c[i][j];
    }
}

用于(int i=1;i是的,两个循环都是相同的。但是按照编码惯例,即使循环块中只有一行代码,也建议使用花括号。这是为了保持代码的可读性。

您不需要花括号,但很多人认为花括号可以提高可读性,特别是如果缩进此选项可能不准确。例如:

for (int i=1;i<a.length;i++)
    for (int j=0;j<a[i].length;j++)
a[i][j] = b[i][j]-c[i][j];

对于(int i=1;i,正如其他人所提到的,这是不必要的,但通常被认为是良好的做法


但是,在某些情况下,这可能是必要的。如果您正在处理一个自动化工具对您实施代码质量限制(如checkstyle或PMD)的项目,那么省略大括号可能会使构建失败。

为什么不试试呢?出于好奇,既然Java不强制缩进限制,为什么不包括大括号?我发现大括号在Java中非常有助于查看循环/函数/任何东西的开始和结束位置。在这种情况下,它们不是必需的,但这是一个好方法习惯于使用大括号。@Colleen使用大括号是一个好习惯。但是它不仅限于java。它在c和CPP中也是可以接受的。就像它们带来的遗产一样。@Colleen只是认为在单个语句上缩进看起来更好,但是如果有很多语句,我可以看到大括号的必要性。哦,这很有趣。我没有意识到它只是一个小括号首先,如果它开始并完成了一个语句。
for (int i=1;i<a.length;i++)
    for (int j=0;j<a[i].length;j++)
a[i][j] = b[i][j]-c[i][j];
for (int i=1;i<a.length;i++) {
    for (int j=0;j<a[i].length;j++) {
a[i][j] = b[i][j]-c[i][j];
    }
}
for (int i=1;i<a.length;i++) 
    for (int j=0;j<a[i].length;j++)
        a[i][j] = b[i][j]-c[i][j];
        count++;