Java 关于在这种情况下为什么外部循环不需要大括号的问题

Java 关于在这种情况下为什么外部循环不需要大括号的问题,java,braces,Java,Braces,对于下面的代码,我不完全理解为什么外部For循环不需要大括号?我知道如果我们有他们会很好,但没有完全明白为什么没有他们是好的。如果循环的主体是一条语句,则不需要大括号。外部循环的主体如何仅是一条语句,从技术上讲,不包括内部for循环在内的for循环的范围。这不意味着外部for循环直到内部for循环完成才结束,这意味着内部循环是外部for循环的一部分,对吗?在这种情况下,我们不应该不使用我认为的支架。我可能会对什么是由外部for循环的主体和嵌套的for循环组成感到困惑 class HelloWor

对于下面的代码,我不完全理解为什么外部For循环不需要大括号?我知道如果我们有他们会很好,但没有完全明白为什么没有他们是好的。如果循环的主体是一条语句,则不需要大括号。外部循环的主体如何仅是一条语句,从技术上讲,不包括内部for循环在内的for循环的范围。这不意味着外部for循环直到内部for循环完成才结束,这意味着内部循环是外部for循环的一部分,对吗?在这种情况下,我们不应该不使用我认为的支架。我可能会对什么是由外部for循环的主体和嵌套的for循环组成感到困惑

class HelloWorld{

     public static void main(String []args){
        for(int i = 0; i < 10; i ++)
            for(int j = 0;  j < 5; j++)
            {
                System.out.println("Hello"); 
            }
     }
}
 
类HelloWorld{
公共静态void main(字符串[]args){
对于(int i=0;i<10;i++)
对于(int j=0;j<5;j++)
{
System.out.println(“你好”);
}
}
}

因为内部循环只是一条语句。只有当外部循环中有多个语句时,才必须使用大括号。因此,循环及其主体被计算为一条语句。

您的外部循环只处理一条语句-内部的
用于
。因此,对于外循环,其他所有内容都不有趣,而内循环可能包含许多行,因为它只属于内循环(在本例中用大括号标记),对于外循环,只有下一行是重要的,它忽略了其他行。但是内循环没有,所以一切都很好,因为外循环确实启动了内循环,而内循环接管了其余部分


但是:在这种情况下,在外部循环中使用大括号更具可读性。

for和while循环以及if子句都控制以下语句

A可以是某一行代码,也可以是(用大括号括起来的代码)。其本身被定义为

for([ForInit];[Expression];[ForUpdate])语句

因此,以下语句可以是任何其他语句(包括新的for语句)

你的代码几乎等于

ForStatement (ForStatement Block)
第一个for查找以下语句,这是另一个for语句。它在找到的语句上循环。 的内部查找一个块作为下一个语句,并在该块上循环。然后,块本身可以由多个语句组成


另请参见()。

这是一个好问题。但是值得记住的是,在任何情况下都不应该编写这样的代码。它使人们感到困惑,迫使他们三思而后行。如果我在代码审查中看到过这一点,我肯定会标记它。